写在前面:
早些时候就决定把读书笔记写成文章的形式,发布在博客上,在自己的服务器上也搭过几次,但是都不是我想要的感觉,就一直拖着。其实吧,平平淡淡才是真,希望可以日复一日的坚持着。
一,安装
go语言安装以后主要又三个环境变量需要设置
1.$GOROOT: Go语言在你电脑上的安装目录,(像我就默认装在了C:\Go下)。
2.$GOPATH: Go语言的工作目录,像我的理解就是将来编译完成的文件放在哪个目录的bin下。(我把他设置为了D:\Go)
3.$PATH: 执行地址..你聪明的一定知道这是什么路径。这里是可执行文件的路径,在win10 下我把他设置成%GOROOT%\bin:%GOPATH%\bin。
二,一些命令
输入go help 可以获取命令列表,输入如go help run可以获取run命令的使用细节。可是这得英文好的才看的懂,哈哈,不然就只能用在线翻译来查看。下面贴一遍备忘,每个命令都有一些参数,需要特别去看一下。
-
-
- build: 编译包和依赖
- clean: 移除对象文件
- doc: 显示包或者符号的文档
- env: 打印go的环境信息
- bug: 启动错误报告
- fix: 运行go tool fix
- fmt: 运行gofmt进行格式化
- generate: 从processing source生成go文件
- get: 下载并安装包和依赖
- install: 编译并安装包和依赖
- list: 列出包
- run: 编译并运行go程序
- test: 运行测试
- tool: 运行go提供的工具
- version: 显示go的版本
- vet: 运行go tool vet
-
我觉得特别神奇的是,go fmt 可以强制化格式代码,妈妈再也不担心编码风格不一致了有没有。
三,目录结构
GOROOT是Go语言环境的根目录
api--存放公开的变量,常量,函数等api的列表,用于GO语言API检索。
bin--存放可执行文件。
doc--存放标准库的文档,使用GODOC -HTTP=:6060命令可以启动文档服务,通过本地6060端口就可以访问查看。
pkg--用于在构建安装后,保存Go语言标准库的所有归档文件。pkg文件夹包含一个与Go安装平台相关的子目录,我们称之为“平台相关目录”。例如,在针对Linux 32bit操作系统的二进制安装包中,平台相关目录的名字就是linux_386;而在针对Windows 64bit操作系统的安装包中,平台相关目录的名字则为windows_amd64。
src--存放所有标准库、Go语言工具,以及相关底层库(C语言实现)的源码。阅读源码时就是看这里面的内容。
GOPATH是Go语言的工作目录
bin--存放go install 命令生成的可执行文件。
pkg--存放Go编译生成的文件。
src--自己的代码
--test_1.com 项目一
--test_2.com 项目二
--hello-world 目录一
--main.go 文件一
四,第一个go语言程序
就是上面GOPATH/src/test_2.com/hello-world/main.go 的代码如下:
package main //包归属,定义当前代码所属的包 import( //包的导入,Go要求只有用到的包才能导入,如果导入一个代码包又不使用,那么编译时会报错 "fmt" ) func main() { fmt.Println("Hello Word") }
phwxi@DESKTOP-LFKJ3FD MINGW64 /d/Go/src/code.local/hello-word $ go run main.go //编译运行go程序。直接执行输出结果 Hello Word phwxi@DESKTOP-LFKJ3FD MINGW64 /d/Go/src/code.local/hello-word $ go build //编译创建可执行文件 phwxi@DESKTOP-LFKJ3FD MINGW64 /d/Go/src/code.local/hello-word $ ls //此时查看,发现多了一个可执行文件hello-word.exe hello-word.exe* main.go phwxi@DESKTOP-LFKJ3FD MINGW64 /d/Go/src/code.local/hello-word $ go install //安装包 phwxi@DESKTOP-LFKJ3FD MINGW64 /d/Go/src/code.local/hello-word $ ls //此时在查看目录,发现可执行文件已经不见,移到GOPATH/bin 目录下了 main.go phwxi@DESKTOP-LFKJ3FD MINGW64 /d/Go/src/code.local/hello-word $ hello-word //执行文件GOPATH/bin 下的hello-word.exe文件 Hello Word //输出 hello word
第一个go语言就已经到此完成执行了一遍了。可喜可贺,可喜可贺。