Golang学习笔记(一)-Go语言环境安装以及运行代码

Linux安装

Golang官网下载地址:https://golang.org/dl/

1、下载安装包

2、解压至 /usr/local 目录

tar -C /usr/local -zxvf go1.11.5.linux-amd64.tar.gz

3、添加 /usr/loacl/go/bin 目录到PATH变量中。添加到/ etc/profile 或 $HOME/.profile 都可以

vim /etc/profile

export GOROOT="/usr/local/go"
export GOPATH="/root/go"
export GOBIN="/root/go/bin" 
export PATH="$PATH:$GOROOT/bin:$GOBIN"

export GO111MODULE="on"
export GOPROXY="https://goproxy.cn,direct"
export GONOPROXY="*git.example.com"
export GONOSUMDB="*git.example.com"

source /etc/profile

代码运行

编写go代码

[root@VM-0-6-centos go]# tree
.
|-- bin
|-- pkg
`-- src
    |-- test_demo        // test_demo项目是输出二进制文件
    |   `-- app.go
    `-- utils
        `-- add.go      // utils项目是输出包

方式 1:go run

进入代码目录
go run app.go

方式 2:go build(推荐)

进入代码目录
​
//编译代码,在当前目录生成一个可执行文件
go build            // 默认生成的可执行文件名称与工程名称相同
//运行
./test_demo
​
go build -o xxx     // -o 指定生成二进制文件的名称

GO程序员的项目:

  • 产出一个可执行文件

  • 产出一个包

方式 3:go install

1) "$GOPATH/bin"目录,生成可执行文件

[root@VM-0-6-centos test_demo]# cat app.go 
package main
​
import(
    "fmt"
)
​
func main(){
    fmt.Println("hello,main")
}
进入test_demo代码目录
//执行go install编译代码,"$GOPATH/bin"目录,生成可执行文件
go install
​
结果:
[root@VM-0-6-centos go]# tree
.
|-- bin
|   `-- test_demo      // 产出可执行文件
|-- pkg
`-- src
    |-- test_demo
    |   `-- app.go
    `-- utils
        `-- add.go
 

2) "$GOPATH/pkg"目录,生成utils的包文件

[root@VM-0-6-centos utils]# cat add.go 
package utils
​
func Add(a,b int)int{
    return a+b
}
进入utils代码目录
//执行go install编译代码,"$GOPATH/pkg"目录,生成utils.a包文件
go install
​
结果:
[root@VM-0-6-centos go]# tree
.
|-- bin
|   `-- test_demo
|-- pkg
|   `-- linux_amd64
|       `-- utils.a        // 产出文件包
`-- src
    |-- test_demo
    |   `-- app.go
    `-- utils
        `-- add.go
​

Windows环境

下载Go语言开发包

大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示。

这里我们下载的是 64 位的开发包,如果读者的电脑是 32 位系统的话,则需要下载 32 位的开发包,在上图所示页面中向下滚动即可找到 32 位开发包的下载地址,如下图所示。

注意:下载 Windows 版本的Go语言开发包时尽量选择 MSI 格式,因为它可以直接安装到系统,不需要额外的操作。

安装Go语言开发包

双击我们下载好的Go语言开发包即可启动安装程序,如下图所示,这是Go语言的用户许可协议,无需管它,直接勾选“I accept ...”然后点击“Next”即可。

在 Windows 系统下Go语言开发包会默认安装到 C 盘的 Go 目录下,推荐在这个目录下安装,使用起来较为方便。当然,你也可以选择其他的安装目录,确认无误后点击“Next”,如下图所示:

Go语言开发包的安装没有其他需要设置的选项,点击“Install”即可开始安装,如下图所示:

等待程序完成安装,然后点击“Finish”退出安装程序。

安装完成后,在我们所设置的安装目录下将生成一些目录和文件,如下图所示:

这个目录的结构遵守 GOPATH 规则,后面的章节会提到这个概念。目录中各个文件夹的含义如下表所示。

Go 开发包的安装目录的功能及说明
目录名说明
api 每个版本的 api 变更差异
bin go 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
doc 英文版的 Go 文档
lib 引用的一些库文件
misc 杂项用途的文件,例如 Android 平台的编译、git 的提交钩子等
pkg Windows 平台编译好的中间文件
src 标准库的源码
test 测试用例


开发时,无须关注这些目录。如果读者希望深度了解底层原理,可以通过上面的介绍继续探索。

设置环境变量

开发包安装完成后,我们还需要配置一下GOPATH 环境变量,之后才可以使用Go语言进行开发。GOPATH 是一个路径,用来存放开发中需要用到的代码包。

在桌面或者资源管理器右键“此电脑”(或者“我的电脑”)→“属性”→“高级系统设置”→“环境变量”,如下图所示。


在弹出的菜单里找到 GOPATH 对应的选项点击编辑之后就可以修改了,没有的话可以选择新建,并将变量名填写为 GOPATH,变量值设置为任意目录均可(尽量选择空目录),例如 D:Go。

 在用户系统变量添加 GOROOT 、 GOPATH 、 GOBIN 三个环境变量

GOBIN="/root/go/bin" 

GOROOT="/usr/local/go"

GOPATH="/root/go"

提示:填写完成后,每个打开的窗口都需要点击“确定”来保存设置。

其它的环境变量安装包均会进行自动设置。在默认情况下,Go 将会被安装在目录 c:go 下,但如果你在安装过程中修改安装目录,则可能需要手动修改所有的环境变量的值。

环境变量设置好后,可以通过 go env 命令来进行测试。

set GO111MODULE=auto
set GOARCH=amd64
set GOBIN=E:goin
set GOCACHE=C:UsersAdministratorAppDataLocalgo-build
set GOENV=C:UsersAdministratorAppDataRoaminggoenv
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=E:gopkgmod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=E:go
set GOPRIVATE=
set GOPROXY=https://goproxy.cn,direct
set GOROOT=C:goin
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:goinpkg	oolwindows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:UsersADMINI~1AppDataLocalTempgo-build220352058=/tmp/go-build -gno-record-gcc-switches

上面只显示了部分结果,如果执行go env 命令后,出现类似上面的结果,说明我们的Go开发包已经安装成功了。

原文地址:https://www.cnblogs.com/lizhewei/p/12253535.html