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 ...
随机推荐
- php扩展redis
Redis安装整理(window平台) +php扩展redis 分类: Web开发2013-03-23 18:51 8258人阅读 评论(3) 收藏 举报 ...
- 9个 SSH常用命令选项
9个 SSH常用命令选项 SSH 是什么 SSH(全称 Secure Shell)是一种加密的网络协议.使用该协议的数据将被加密,如果在传输中间数据泄漏,也可以确保没有人能读取出有用信息.要使用 SS ...
- MongoDB.WebIDE:升级版的Mongodb管理工具
很早以前收藏了一片文章:<强大的MongoDB数据库管理工具>.最近刚好要做一些MongoDB方面的工作,于是翻出来温习了一下,用起来也确实挺方便.不过在使用过程中出现了一些个问题,加上更 ...
- linux挂载硬盘失败,报错!
剛把我的一顆硬碟 ( NTFS ) 接到 Ubuntu 桌機上. 然後要 mount 的時候,出現了下面的訊息: DBus error org.gtk.Private.RemoteVolumeMon ...
- javascript和HTML5上传图片之前实现预览效果
一:FileList对象与file对象 FileList对象表示用户选择的文件列表,在HTML4中,file控件内只允许放置一个文件,但是到了HTML5中,通过添加multiple属性,file控件内 ...
- Linux/Ubuntu tree 命令以树形结构显示文件夹目录结构
1.安装命令工具 sudo apt-get -y install tree 2.可以查看关于tree命令的帮助信息 $ tree --help usage: tree [-adfghilnpqrstu ...
- CSS3实现二十多种基本图形
CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出.直接用CSS3画出这些图形,要比贴图性能更好,体验更加,是一种非常好的网页美观方式. 这32种图形分别为圆形,椭圆形,三角形,倒三角形, ...
- [COJ0988]WZJ的数据结构(负十二)
[COJ0988]WZJ的数据结构(负十二) 试题描述 输入 见题目,注意本题不能用文件输入输出 输出 见题目,注意本题不能用文件输入输出 输入示例 输出示例 数据规模及约定 1≤N≤1500,M≤N ...
- doTjs源码研究笔记
首先是入口方法 /*tmpl:模板文本 c:用户自定义配置 def:定义编译时执行的数据*/doT.template = function(tmpl, c, def) { } 然后进入第一句代码 c ...
- 常州Day4题解
1. 高精度 这题略水,字符串可过,还不加压位等,操作只有BitShift和add/sub,不过编程复杂度有些高.(输出都是二进制我能说些什么...) 2. N皇后问题 (警告! 不是平时你见到的N皇 ...