1 package main 2 3 import "fmt" 4 5 func main() { 6 fmt.Printf("Hello,world or 你好,世界 or καλημ ?ρα κóσμ or こんにちは世界\n") 7 fmt.Print("Hello,word!") 8 //输出后换行 9 fmt.Println("Hello,word!")10 //可以格式化输出内容,字符%s,数字%d,浮点%f11 s := "我是字符"12 d := 12313 f := 123.2314 b := false15 fmt.Printf("字符:%s\n", s)16 fmt.Printf("数字:%d\n", d)17 fmt.Printf("浮点:%f\n", f)18 fmt.Printf("布尔:%t\n", b)19 }
输出结果如下:
Hello,world or 你好,世界 or καλημ ?ρα κóσμ or こんにちは世界
Hello,word!Hello,word!
字符:我是字符
数字:123
浮点:123.230000
布尔:false
Windows 安装
访问http://code.google.com/p/go/downloads/list,32位系统下载go1.0.3.windows-386.msi,64位系统下载go1.0.3.windows-amd64.msi。双击打开下载的文件,一路按照默认点击下一步,这个时候go已经安装到你的系统中,默认安装之后已经在你的系统环境变量中加入了c:/go/bin
,这个时候打开cmd,输入go显示如下画面:
go build
这个命令主要用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。
1.如果是普通包,就像我们在1.2节中编写的mymath包那样,当你执行go build之后,它不会产生任何文件。如果你需要在$GOPATH/pkg下生成相应的文件,那就得执行go install了。
2.如果是main包,当你执行go build之后,它就会在当前目录下生成一个可执行文件。如果你需要在$GOPATH/bin下生成相应的文件,同样需要执行go install。
3.如果某个项目文件夹下有多个文件,而你只想编译某个文件,就可在go build之后加上文件名,例如go build a.go;go build命令默认会编译当前目录下的所有go文件。
4.你也可以指定编译输出的文件名。例如1.2节中的mathapp应用,我们可以指定go build -o astaxie.exe,默认情况是你的package名,就是你的文件夹名称。
go clean
这个命令是用来移除当前源码包里面编译生成的文件
_obj/ 旧的object目录,由Makefiles遗留_test/ 旧的test目录,由Makefiles遗留_testmain.go 旧的gotest文件,由Makefiles遗留test.out 旧的test记录,由Makefiles遗留build.out 旧的test记录,由Makefiles遗留*.[568ao] object文件,由Makefiles遗留DIR(.exe) 由go build产生DIR.test(.exe) 由go test -c产生MAINFILE(.exe) 由go build MAINFILE.go产生
go get
这个命令是用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行go install
go install
第一步是go build
,第二步会把编译好的东西move到$GOPATH/pkg
或者$GOPATH/bin
go fix 用来修复以前老版本的代码到新版本,例如go1之前老版本的代码转化到go1go version 查看go当前的版本go env 查看当前go的环境变量go list 列出当前全部安装的packagego run 编译并运行Go程序
以上 $GOPATH 目录约定有三个子目录:
src 存放源代码(比如:.go .c .h .s等)
pkg 编译后生成的文件(比如:.a)
bin 编译后生成的可执行文件(为了方便,可以把此目录加入到 $PATH 变量中)