1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mac go linux 目标 Mac下Golang安装以及目录结构-Go语言中文社区

mac go linux 目标 Mac下Golang安装以及目录结构-Go语言中文社区

时间:2021-03-23 22:17:32

相关推荐

mac go linux 目标 Mac下Golang安装以及目录结构-Go语言中文社区

1.安装步骤

a.下载地址 下载SDK后,解压到自己喜欢的目录(后面配置PATH需要用到)

b.配置PATH,有很多个地方可以配置具体可参考此链(PATH配置详解),我是直接修改的~/.bash_profile来设置环境变量,因为该文件一般用户都能更改,没有涉及到任何权限问题,具体参考此链接粗暴配置。在此文件输入

export GOROOT=$HOME/go

export GOPATH=$HOME/go:$HOME/MyGO

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

其中GOROOT对应的就是前面的Go源码包解压路径,GOPATH可以设置多个看你自己想在哪里新建都行,按:分开就行如上面所示

就是如此简单,环境就配置好了,可在命令行输入go 看是否安装成功

2.目录结构

a.上面我已经在关联了一个新的GOPATH:MyGO,此时切换到该文件夹下面新建src文件夹(Go源码文件夹,需要自己建立,不会自动生成)

b.一般 一个完整的Go程序下面包括三个子文件夹 src bin pkg。

bin里面的是可执行文件通过go install可生产可执行文件,install的go文件必须包含package main才会生产可执行文件

pkg里面的都是一些对应的.a文件 build可出现

c.所以当你需要新的GO包的时候,在src文件夹下面新建文件夹名字一般和你所要的GO包名字一致,然后就撸码吧

3.二次安装golang

推荐直接下载pkg安装或者用homebrew,比下载压缩包要省事,下载完成之后就是添加环境变量

1.vim ~/.bash_profile

2.export GOROOT=/usr/local/go(go安装路径)

export GOPATH=$HOME/xxx(xxx为自定义项目路径)

export PATH=$PATH:$GOROOT/bin

export PATH=$PATH:$GOPATH/bin

3. 如果项目引入了相关的第三方包,可以go get 或者 直接从其他地方拷贝粘贴就行了,但是注意路径要对应

4. 关于交叉编译

交叉编译需要到安装路径go/pkg下面添加相应的其他环境包,最省事的办法就是从其他带

4.再次理解GOBIN

最近几天玩了下GoLand,在build的时候发现里面有个输出路径(Output directory),其实就是程序build以后生成的可执行文件存放的地方,因为在项目中用到了os.Args,源码里面是这样注释的(// Args hold the command-line arguments, starting with the program name.),我的理解是这个函数是读取当前程序的绝对路径,也就是你设置的输出路径。这个在LiteIDE里面是没法更改的,按照LiteIDE的说法是build其实就是debug所以直接就是当前工程所在的路径。

回到正题,GOBIN其实就是install之后的可执行文件的存放路径,可以不设置默认就是gopath下面的bin。另外,GOROOT/bin则包含Go为我们提供的工具链,因此,应该将GOROOT/bin配置到环境变量PATH中,方便我们在全局中使用Go工具链。既然bin里面都是放的一些可执行文件,那么为啥go的工具链放在GOROOT/bin下面就不难理解了,我的理解就是其实就是官方install出来的可执行文件,用来玩go的

5.goland交叉编译

run-->edit configurations-->点击左侧➕-->选择build(.1版本)-->选择run kind为package-->新增environment:GOOS=linux;GOARCH=amd64

>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。