每学一门语言,程序猿们总是不厌其烦地写一遍hello world,这篇就是Go语言的hello world。
Go语言的环境搭建建议参考《Go Web编程》的第一章:Go 环境配置,里面写得足够详细。如果觉得《Go Web编程》里面写得太繁琐,也可以看官网的Getting Started。
环境搭建好之后,就可以在GOPATH的目录下新建src、pkg、bin这三个目录了。这三个目录的用途如下:
在src目录下新建helloworld目录,类似于一个project的名称吧,当然,正规点的话就在src目录下新建com.XXX目录,然后在com.XXX目录下再新建helloworld目录。
在helloworld目录下新建helloworld.go文件,在文件中输入下面的代码:
?
package main
import "fmt"
func main() {
fmt.Printf("hello, world!\n")
}
命令行窗口进入到helloworld目录,键入命令:go run helloworld.go,就会返回结果:
?
hello, world!
Go使用package来组织代码。代码中第一行package <pkgName>告诉我们当前文件属于哪一个包,而源码中的main则告诉我们它是一个可独立运行的包,它编译后会产生可执行文件。除了main包之外,其他包编译后会产生*.a文件(也就是包文件)并放置在$GOPATH/pkg/$GOOS_$GOARCH目录下(我的是:D:\GO_DATA\pkg\windows_amd64)。
此外,每一个可独立运行的Go程序,必定包含一个package main,而且在这个main包中必定包含一个入口函数main,这个函数既没有参数,也买有返回值。
个人疑问,入口函数没有参数,那要写一个带外部参数的可运行程序该怎么写?举个例子,假如go这个程序是用Go语言写的,那么go这个程序的main函数如何获得命令行中的参数从而执行不同的操作,如上文的命令:“go run helloworld.go”。