学习go语言编程系列之helloworld

1. 下载
https://golang.org/dl/ # Go语言官网地址,在国内下载太慢,甚至都无法访问。通过如下地址下载:

https://golangtc.com/download 如果这个地址无法下载,可以换个地址:https://golang.google.cn/dl/

2. 安装
在windows下,直接一步步点击安装即可。

3. 配置
在正式开始go语言编程之前,需要进行一些基础环境变量的配置。
在这里主要需要配置2个环境变量:GOROOTGOPATH
(1)GOROOT:GO的安装路径,需要添加到环境变量中。

Linux环境:
vim /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
windows环境:
GOROOT=D:\Go
PATH=%PATH%;%GOROOT%\bin
mac环境:
vim ~/.bashrc 或者 vim ~/.zshrc
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

(2)GOPATH:GO的工作目录,可类比eclipse的workspace(其实就是项目路径),作为编译后二进制的存放目的地和import包时的搜索路径,同样需要添加到环境变量。

Linux环境:
vim /etc/profile
export GOPATH=/home/go/workspace/studygo
export PATH=$PATH:$GOPATH/bin
windows环境:
export GOPATH=D:\go\workpace\studygo
export PATH=%PATH%;%GOPATH%\bin
mac环境:
export GOPATH=/Users/$USER/go/workspace/studygo
export PATH=$PATH:$GOPATH/bin

关于GOPATH的几点说明:
(1)GOPATH之下主要包含三个目录:bin,pkg,src。bin目录主要存放可执行文件;pkg目录存放编译好的库文件,主要是*.a文件;src目录下主要存放go的源文件。
(2)GOPATH可以是一个目录列表,go get下载的第三方库,一般都会下载到列表的第一个目录里面。
(3)需要把GOPATH中的可执行目录也配置到环境变量中,否则你自行下载的第三方go工具就无法使用了,即:

PATH=$PATH:$GOPATH/bin

以上方式配置的GOPATH是全局环境变量,不适合在开发环境中设置,在GoLand这样的IDE中支持设置项目GOPATH(如下图所示),这样使用起来比较灵活,也不容易出错,参考:GOPATH详解

 

4. 编写helloworld
在GOPATH路径下,新建目录:src,该目录是管理所有go程序源代码的路径, 如:D:\goworkpace\src。
在GOPATH/src路径下,新建程序目录:hello,即:D:\goworkpace\src\hello。
在GOPATH/src/hello路径下,新建文件:helloworld.go,内容如下:

package main // 声明该Go代码所属的包,“包”是Go语言最基本的分发单位
// 注意:相同目录下只允许有一个go代码文件属于“main”包,如果在相同目录下存在多个go代码文件都属于“main”包,则在运行时报错
import "fmt" // 一系列的import语句,导入该程序所依赖的包;由于在本示例中需要使用到Print()函数,所以需要导入该函数所属的包“fmt” // 不得包含在源代码中没有使用到的包,否则Go编译器会报错 func main() { // 这是行注释 /* 这是块注释 */ // Go不要求在语句后面添加分号表示语句结束 fmt.Println("Hello,World!") }

进入windows控制台,输入命令:go run helloworld.go

可以看到,将会在控制台输出:Hello,World!
或者,在输入命令:go install hello
将会在GOPATH/bin路径下生成可执行文件:hello.exe,运行该文件,也会在控制台输出:Hello,World!
实际上,当执行命令“go install hello”时,将会在GOPATH/src路径下搜索名称为hello的项目,然后将该目录下的main程序文件编译为对应名称的可执行文件,存放到GOPATH/bin目录下。

5. 选择合适的IDE
工欲善其事,必先利其器。在实际项目开发中,很多时候不可能还那么原始地敲命令调试,所以选择一款合适的集代码编辑,运行及调试于一体的开发工具非常有必要。
何为合适?简而言之,用着顺手即可!当然,大神例外!(大神都是直接用文本编辑器滴干活^+^^+^)
作为java老司机,我还是首选eclipse,用着顺手。
通过在eclipse安装goclipse插件,就可以将eclipse打造成为go开发IDE,详见:http://goclipse.github.io/
如果不是java程序员,我建议使用Visual Studio Code,毕竟eclipse本身运行还需要安装java环境,有点多此一举,详见:https://code.visualstudio.com/

6.遇到的问题

编写完第一个Hello World示例,文件内容如下:

# 文件名: hello.go
package main
import "fmt"
func main() {
    fmt.Printf("Hello, World\n");
}

第一次运行“go install hello”时遇到如下报错信息:

go install hello
go: 'go install' requires a version when current directory is not in a module
    Try 'go install hello@latest' to install the latest version

解决办法:

在确保go环境和相应变量都已经正确安装与设置的前提下,执行如下命令:

go env -w GO111MODULE=auto

详见:https://stackoverflow.com/questions/66740187/errors-running-the-first-go-project-on-the-local-machine    Errors running the first Go project on the local machine

 

【参考】
https://golangbot.com/golang-tutorial-part-1-introduction-and-installation/ go语言系列教程
http://www.jianshu.com/p/4e699ff478a5 go环境变量配置 (GOROOT和GOPATH)

 

posted @ 2017-08-03 23:46  nuccch  阅读(493)  评论(0编辑  收藏  举报