学习golang
安装
windows
- 下载
- 解压到C盘
- 设置环境变量 set PATH=%PATH%;C:\Go\bin
特色
- 清晰并且简洁
- 并行
- Channel
- 快速
- 安全
- 标准格式化
- 类型后置
- UTF-8
- 开源
- 开心
Hello World
- package 开头
- 独立运行的程序必须以package main开头
- import <包名>
- func main()
构建
使用go工具,例如:go build helloworld.go
运行
直接运行,例如:./helloworld
变量
- var xxx 变量类型
- 默认赋值为该类型的null值
- 变量类型在变量名的后面
- 可以一步内完成声明和赋值,变量类型由值推演出来:=
- 可以用圆括号成组声明
- 可以在一行内完成声明,用逗号隔开
- 下划线是特殊变量名,表示任何赋给它的值都被丢弃
- 未使用的变量在编译时会报错
类型
- 布尔类型 bool
- 数字类型
- int
- 根据硬件决定,32位上是32位
- int8
- int16
- int32
- int64
- uint
- 类似int
- byte uint8
- uint16
- uint32
- uint64
- float32
- float64
- 混合使用要报错
- int
常量
- const XXX=aaa
- 只能是数字、字符串或布尔值
- 在编译时被创建
- 可以用iota生成枚举值
- 第一个是0
- 下次使用增加1
- 第一个常量为iota,第二个省略默认也等于iota
- 可以用圆括号成组声明
go env
-
GOARCH
Go编译器输出的程序的目标架构,3个可选:arm, 386, amd64
-
GOBIN
存放编译出来的命令(程序)的目录,对于GOPATH里面的,默认放到$GOPATH/bin下,GOROOT里面的 放到$GOROOT/bin下,如果$GOBIN设置了,则都放到$GOBIN下。
-
GOCHAR
每个体系的编译器有一个字符表示,比如386是8,amd64是6,arm是5,这个一般不用管。 Plan 9工具链特点。
-
GOEXE
可执行文件名的后缀,只在Windows下有用,设置成".exe"。
-
GOGCCFLAGS
编译cgo的时候gcc编译的命令行参数。
-
GOHOSTARCH
当前运行Go工具链的系统架构,可选的值同上$GOARCH
-
GOHOSTOS
当前运行Go工具链的操作系统,可选的值很多,linux, darwin, windows, freebsd, openbsd, netbsd, plan9等
-
GOOS
编译出来的目标程序在哪个操作系统上执行,可选的同上面的GOHOSTOS。
-
GOPATH
go开发目录
-
GOROOT
Go本身装在GOROOT下面
-
GOTOOLDIR
Go的工具链程序在这个目录下,一般也不用管,直接用go tool 8g这样就行了。
-
CGO_ENABLED
是否使用cgo,可选值是1和0.
中文参考
- Go Web编程
- 中文版《Go入门指南》
- 维基百科:go
- Go学习笔记
- Go语言标准库
- Go编程基础-视频
- 学习Go语言
- Go语言学习园地博客
- Network programming with Go 中文翻译版本
- Go语言文档
- Go官方文档
- 在GAE上使用go编程
英文参考
sublime text2扩展
GBK和UTF8转换
注意
-
文件是Unix的基础,而文件的读写是基础中的基础
-
如果想翻过去,修改hosts增加2条:74.125.128.94 www.golang.org 74.125.128.94 golang.org
-
搭建自己的官网
godoc -http 6060 访问http://localhost:6060/
-
gosublime快捷键
快速查看可以import包情况 Ctrl+点 然后 Ctrl+p