Go语言学习(一):hello world

杀马特。学长 韩版系。学妹 提交于 2019-11-26 16:46:46

      从2011年7月接触Android到现在已经两年半有多了,Java接触多了,总觉得它有点繁琐。Go出现了之后,一直想抽出点时间学习,由于各种原因现在才开始。我是一边看《Go Web编程》,一边看官网的相关文档学习的。

      每学一门语言,程序猿们总是不厌其烦地写一遍hello world,这篇就是Go语言的hello world。

      Go语言的环境搭建建议参考《Go Web编程》的第一章:Go 环境配置,里面写得足够详细。如果觉得《Go Web编程》里面写得太繁琐,也可以看官网的Getting Started

      环境搭建好之后,就可以在GOPATH的目录下新建src、pkg、bin这三个目录了。这三个目录的用途如下:

  1. src:存放源代码

  2. pkg:存放编译后生成的文件,个人理解是类似于Java中存放jar包的lib目录。

  3. 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”。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!