开发环境构建
GOPATH
- 在1.8版本前必须设置这个环境变量
- 1.8以及更高版本如果没有设置,则使用默认值
在Mac上GOPATH可以通过修改 ~/.bash_profile来设置
程序基本结构
package main //包,表明代码所在的模块(包)和java以及dotnet 命名空间是相似的
import "fmt" //依赖关系引用 和java以及dotnet的using、import相似
//方法函数
func main(){
fmt.Println("Hello World!")
}
应用程序入口
- 必须是main包:package main
- 必须是main方法: func main(){}
- 文件名称不强制是main.go,也可以是index.go
退出返回值
- Go中main函数不支持任何返回值
- 通过os.Exit来返回状态 需要import “os”
package hello
import (
"fmt"
"os"
)
func main() {
fmt.Println("Hello World")
os.Exit(-1)
}
执行结果:
go run hello_world.go
Hello World
exit status 255
获取命令行参数
- main函数不支持传入参数
- 在程序中直接通过 os.Args 获取命令行参数
示例代码
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println(os.Args)
fmt.Println("Hello World")
}
输出结果
$ go run hello_world.go zhang
[/var/folders/zg/0_xcqssx6pj7g8p96ppl66ww0000gn/T/go-build244907203/b001/exe/hello_world zhang]
Hello World
改进后的代码:
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args)>1 {
fmt.Println("Hello World",os.Args[1])
}else {
fmt.Println("Hello World")
}
}
输出结果
$ go run hello_world.go zhang
Hello World zhang
示例代码请访问: https://github.com/wenjianzhang/golearning