Go学习笔记一
一、安装
golang社区中文文档-安装
golang学习资料github
二、GOPATH
src: 源码包
pkg: 编译后得文件
bin: 可执行文件
三、GO命令
- go build [filename.go] [-o outputPath] go build会忽略“_”和“.”开头的文件
- go clean清除当前源码包中编译生成的文件
- go fmt 格式化源码
- go get 获取远程代码,目前支持BitBucket、GitHub、Google Code、Launchpad
- go install
- go test 读取*_test.go文件
- go doc godoc -http:port godoc package [function]
四、变量定义
- var vName type
- var v1, v2, v3 … type
- var vName type = initValue
- var v1, v2, v3 type = val1, val2, val3
- var v1, v2, v3 = val1, val2, val3
- v1, v2, v3 := val1, val2, val3 (简短声明只适用于函数内部局部变量,全局变量使用var)
- _任何赋予下划线的值都将丢失 _, a = 10, 20
- var (
a = 1
b = “hi”
c byte
)
五、常量定义
const constName = value
六、内置基础类型
- bool: default false
- 数值类型: int和uint默认32位,rune int8 int16 int32 int64和byte uint8 uint16 uint32 uint64,rune是int32别名,byte是uint8的别名;浮点型float32和float64;复数complex64和complex128, eg: x + yi
- 字符串string ““或``
- 错误类型error: errors.New(“message”)
- 分组声明、iota枚举 const (a = iota b c …)
6 大写开头变量、函数是public,小写则是private
七、流程
- if [init];condition {}
- goto break continue 结合label使用
- for exp1; exp2; exp3 {}
- switch sExpr { case exp1….}, fallthrough
sosop hou
10 March 2015