Go/Golang 语言学习笔记总结

前端之家收集整理的这篇文章主要介绍了Go/Golang 语言学习笔记总结前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1.有关go语言总go install,go build 的区别

go install 主要针对不是 package main 即不是main方法的go文件进行编译 达到相应的包中,而go build 只能编译main 方法的go文件 ,并且只能 在 执行go build 命令的当前目录 执行编译后的文件 ./main(linux,mac) 或者是main.exe (windows)程序。 go install 还能编译main 方法的go文件,不管在哪执行该命令 都会把执行文件生成到 $GOPATH/bin 目录下 生成一个可执行的文件,

go install 在编译一个main方法的go文件中如果涉及到 自己写的包文件,那么会自动把该文件编译到相应的文件生成一个*.a 文件.而go build 并不会生成一个*.a 中间的一个涉及到其他的包文件。如果想强制编译相应的包文件都被重新编译 那么就要用 go install -a 命令来强制编译文件

2.针对go文件打包及相应包名的引用

举个例子 假如新建立的一个项目为app

目录为 : $GOPATH/src/app

在app目录下建立一个rtb 文件夹 //$GOPATH/src/app/rtb

在该文件下建立一个文件 rtb_index.go // $GOPATH/src/rtb/rtb_index.go

package rtb

import "fmt"
func Hello(){

fmt.Println("say hello")

}

那么对该文件进行打包编译 ,要运行 在 $GOPATH/src/rtb 目录下 执行 go install 以后会把该文件编译到 $GOPATH/bin/${GO_ARCH}/app/的目录下 生成一个rtb.a 文件

接下来接着创建一个文件

vim $GOPATH/src/app/main/main.go


package main

import(

"fmt"

"app/rtb" //此处一定要注意不能把app给省落,如果是 "rtb" 那么在编译的时候 会报找不到该包,GO默认的路径实在

$GOROOT /$GOPATH 中去找你导入的包

)

func main(){

fmt.Println(" run rtb.Hello()")

rtb.Hello()

}

后执行 go build main.go 在改目录下生成 main,如果执行 go install 则在 $GOPATH/bin/main 可执行程序



3.区分$GOPATH,$GOROOT 的区别

$GOPATH 是go语言的工作目录(工作环境),而不是 go安装目录,另外$GOROOT 是go语言的安装目录


4.go clean

该命令用来移除该项目中编译后的文件,这样主要是在一些项目的开发中 用代码管理工具的时候主要是针对源码文件,而不比关系编译后的文件

5.go fmt/gofmt

该命令主要是格式化go文件, gofmt -w mian.go 或者是gofmt -w src ,如果去掉 -w 那么不会将格式化的文件写入文件


6.go get

这个命令是用来动态获取远程代码包的,目前支持的有BitBucket、GitHub、Google Code和Launchpad。这个命令在内部实际上分成了两步操作:第一步是下载源码包,第二步是执行go install

7.go test

运行 文件中 *_test.go 文件,并且执行这些文件 ,主要用于测试用

8.go doc

该命令主要用于查看package 中的文档,godoc -http:=8080 在浏览器中输入 127.0.0.1:8080 就可以查看golang的帮助文档了

原文链接:/go/190445.html

猜你在找的Go相关文章