Go语言基础知识学习笔记1

安装教程我就不写了,推荐大家下载msc的安装包,因为他会自动帮你配置一些环境变量,但是GOPATH这个工作目录的环境变量需要自己配置

右键我的电脑->属性->高级系统设置->环境变量->新建系统变量

变量名称大写 GOPATH  


路径就你的工作目录,如我的是D:/go 如果有多个工作目录就使用";"分号分割

根据约定,GOPATH下需要建立3个目录:

bin (存放编译后生成的可执行文件)
pkg (存放编译后生成的包文件)
src (存放项目源码)

查看环境变量与工作目录 控制台输入:go env

C:\>go env
set GOARCH=amd64      //CPU架构信息
set GOBIN=              //工作目录下的bin文件夹,存放编译文件
set GOCHAR=6
set GOEXE=.exe          //生成可执行文件的后缀名
set GOHOSTARCH=amd64  //当用到交叉编译的时候,你需要交叉的架构
set GOHOSTOS=windows  //当用到交叉编译的时候,你需要交叉的系统
set GOOS=windows       //当前系统的系统名称,也可能是linux,unix
set GOPATH=              //你的工作目录
set GORACE=
set GOROOT=C:\Go        //Go语言的安装目录
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64  //工具目录
set CC=gcc             //使用的编译器
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1

Go常用命令简介:

 go get : 获取远程包(如果你是从github上面获取需要安装git,如果是googlecode上面获取需安装hg)

 go run : 直接运行程序,在控制台显示运行的结果,方便调试

 go build : 测试编译,检查是否有编译错误,如果你执行的是一个可执行文件的编译源码,会直接生成一个可执行文件

 go fmt : 格式化源码(部分IDE在保存时自动调用),一般不会手动去使用这个命令,保证源码格式都是相同的

 go install : 有两个功能,如果你的工作目录中有调用的包文件,它会先编译包文件,然后在编译主程序的源码,编译成功的exe程序会放在可执行目录bin下,编译的包文件会放在包目录pack下

 go test : 它的作用是运行测试文件,例如文件名是 *_test.go结尾的默认都是测试文件,正常的文件不要命名成这样,在控制台直接输入 go test 它会自动测试这些以_test.go结尾的文件,并且生成一个结果报告,如果是 pass ok 就是没有错误,测试成功

 go doc : 查看一个函数,或者一个包,例如:go doc fmt 会列出fmt这个包文件里的所有函数以及类型,如果你想查看单个函数,就不要在命令中加空格,例如 godoc fmt Println  查看Println这个函数,它就会输出这个函数的说明

 还可以使用godoc -http=:8080 建立一个本地的8080端口的go官网,可以查看一些包的说明和文档,访问方式:localhost:8080

编译生成的包文件以.a为后缀名

编译完成的可执行文件,记得要从bin目录下拷贝到工作目录下,也就是bin目录的父级下,因为这里使用的是相对路径,不然会提示找不到文件

另外再说下go build命令 :

go build 可执行文件的源码

只有package名称为main的源码才能被go build 命令编译,也可以手动指定生成的可执行文件目录  例如:go build -os D:/111.exe test.go   会在D盘根目录下生成一个111.exe文件

如果说你的package名称不是main,而是其它的话那这只是一个单纯的包文件,当你使用go build 的时候不会产生任何的文件,而当你的package名称是main的时候它就会产生一个可执行文件

这里推荐使用的开发工具是sublime3  并且安装package control, 再安装GOsublime插件,安装完成以后重启两次编辑器

那么,我们来学习一个GO语言版的hello word!

首先使用编辑器在工作目录下的源码目录src下创建一个hellow.go文件,因为我们要创建的是一个可执行文件,所以第一行package名称为main

写main函数,注意这个main函数没有参数,也没有返回值,并且如果想执行main函数的话必须要在package main里面

package main

import("fmt")

func main(){
  fmt.Println("hello word!")   
}


如果你使用了sublime,并且安装好了gosublime插件,可以在编写好代码以后按Ctrl+B 执行这个插件,然后输入go run hello.go  直接运行,会直接看到结果显示在插件里

如果你想执行go build 的话 直接运行 go build hello.go 那就会生成一个hello.exe

有疑问加站长微信联系(非本文作者)