Mac下搭建go语言开发环境
一.下载安装go
到墙内下载go的安装包:
http://www.golangtc.com/download
点击安装包然后进行安装
二.配置
1.查看环境
go version
2.安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输入ls -all命令查看是否存在.bash_profile
文件,存在既使用vim .bash_profile打开并编辑该文件。根据自己实际情况,内容如下:
export GOPATH=/Users/apple/Documents/dev/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN
go env
GOARCH=" GOBIN="/Users/apple/Documents/dev/go/bin" GOCHAR=" GOEXE="" GOHOSTARCH=" GOHOSTOS="darwin" GOOS="darwin" GOPATH="/Users/apple/Documents/dev/go" GORACE="" GOROOT="/usr/local/go" GOTOOLDIR="/usr/local/go/pkg/tool/darwin_386" CC="gcc" GOGCCFLAGS="-fPIC -m32 -pthread -fmessage-length=0 -fno-common" CXX="g++" CGO_ENABLED="
cd /Users/apple/Documents/dev/go
vim main.go
package main
import (
"fmt"
)
func main() {
fmt.Println("hello go");
}
使用go build xx(项目名称)对其进行编译
adeMacBook-Pro:go apple$ ./main hello go
例子1(socket编程:参考http://studygolang.com/articles/1879):
server端代码:
package main
import (
"log"
"net"
)
//socket编程例子
func main() {
ln, err := net.Listen("tcp", ":5555")
if err != nil {
log.Println(err)
return
}
for {
conn, err := ln.Accept()
if err != nil {
log.Println(err)
continue
}
go echoFunc(conn)
}
}
func echoFunc(c net.Conn) {
buf := make([])
for {
n, err := c.Read(buf)
if err != nil {
log.Println(err)
return
}
c.Write(buf[:n])
}
}
client端代码:
package main
import (
"fmt"
"net"
"time"
)
//socket编程例子
func main() {
conn, err := net.Dial("tcp", "127.0.0.1:5555")
if err != nil {
panic(err.Error())
}
defer conn.Close()
buf := make([]byte, RECV_BUF_LEN)
; i < ; i++ {
//准备要发送的字符串
msg := fmt.Sprintf("Hello World, %03d", i)
n, err := conn.Write([]byte(msg))
if err != nil {
println("Write Buffer Error:", err.Error())
break
}
fmt.Println(msg)
//从服务器端收字符串
n, err = conn.Read(buf)
if err != nil {
println("Read Buffer Error:", err.Error())
break
}
fmt.Println(:n]))
//等一秒钟
time.Sleep(time.Second)
}
}
运行结果:

例子2(循环):
package main
//导入fmt包
import (
"fmt"
)
//main函数定义
func main() {
ForExample()
fmt.Println("----------------------")
GoExample()
fmt.Println("----------------------")
ArrExample()
fmt.Println("----------------------")
Revert("testRevert hah")
}
//创建一个基于for的简单的循环。使其循环10次,并且使用fmt包打印出计数器的值。
func ForExample() {
; i < ; i++ {
fmt.Println(i)
}
}
//创建一个基于for的简单的循环。使其循环10次,并且使用fmt包打印出计数器的值。
func GoExample() {
i :=
I:
fmt.Println(i)
i++
{
goto I
}
}
//再次改写1的循环,使其遍历一个array,并将array打印到屏幕上
func ArrExample() {
arr := [], , , , , , , , , }
for _, val := range arr {
fmt.Println(val)
}
}
//编写一个逆转字符串的程序,例如:"foobar"打印成为"raboof";
func Revert(s string) {
var result string
for _, val := range s {
result = string(val) + result
}
fmt.Println(result)
}
Mac下搭建go语言开发环境的更多相关文章
- Win7下搭建Go语言开发环境
Win7下搭建Go语言开发环境 1 下载适合window版本的Go安装包,下载地址http://code.google.com/p/go/downloads/list 2 下载适合window本本的L ...
- Mac下搭建Eclipse Android开发环境
之前一直是用windows搞android开发,但windows这个性能也真是让人醉了,终于一狠心,砸锅卖铁买了Mac.然后就开始在Mac上搭建android开发环境, 其实也不麻烦,关键是找准下载地 ...
- Windows下搭建go语言开发环境 以及 开发IDE (附下载链接)
1.下载 并且 安装 Go安装包 =========================================================== 在CSDN上传了我的版本,供大家下载: = ...
- Mac下搭建react native开发环境
安装必需软件 Homebrew Homebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件. /usr/bin/ruby -e "$(curl -fsSL htt ...
- Win7/Win10下搭建Go语言开发环境
1 下载适合window版本的Go安装包,下载地址http://code.google.com/p/go/downloads/list 2 下载适合window本本的LiteIDE,下载后解压即可使用 ...
- 干货分享:在Windows下使用Visual Studio搭建C语言开发环境
前言:本文将教大家如何使用 VIsual Studio Code 搭建 C 语言开发环境,包括使用 VS Code 如何编译和调试 C 语言程序,需要 用到的工具有 Visual Studio Cod ...
- Windows下搭建objective C开发环境
摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...
- 从零开始搭建Go语言开发环境
一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...
- 安装Go语言及搭建Go语言开发环境
一步一步,从零搭建Go语言开发环境. 安装Go语言及搭建Go语言开发环境 下载 下载地址 Go官网下载地址:https://golang.org/dl/ Go官方镜像站(推荐):https://gol ...
随机推荐
- mysqli 操作数据库(转)
从php5.0开始增加mysql(i)支持 , 新加的功能都以对象的形式添加 i表示改进的意思 功能多.效率高.稳定 编译时参数: ./configure --with-mysql=/usr/bin/ ...
- JS动态调用方法名示例介绍
先看看JS的一个函数 JavaScript eval() 函数 定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描 ...
- 新浪微博的XSS漏洞攻击过程详解
今天晚上(2011年6月28日),新浪微博出现了一次比较大的XSS攻击事件.大量用户自动发送诸如:“郭美美事件的一些未注意到的细节”,“建 党大业中穿帮的地方”,“让女人心动的100句诗歌”,“3D肉 ...
- WeakReference(弱引用)
原地址:http://www.cnblogs.com/bayonetxxx/archive/2009/06/02/1494728.html 我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回 ...
- Autolayout及VFL经验分享
http://www.cocoachina.com/industry/20131108/7322.html 这篇不是什么教程.Cocoa autolayout出来蛮久了.以前多次想去深入研究一下,每次 ...
- [codeforces 516]A. Drazil and Factorial
[codeforces 516]A. Drazil and Factorial 试题描述 Drazil is playing a math game with Varda. Let's define ...
- HDU1711
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- poj1258 Agri-Net 最小生成树
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 44032 Accepted: 18001 Descri ...
- HDOJ 1162
Eddy's picture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
- [ruby on rails] 跟我学之(7)创建数据
通过form来创建数据,本章节将会涉及内容:创建form,用户重导向,渲染views 和 flash消息. 1. views初步 编辑 app/views/posts/index.html.erb这个 ...