linux下怎么安装Go开发环境一、Go安装使用
1、下载Go源码包
上传到/usr/local/src目录下
2、编译安装Go到/usr/local
tar zxvf go1.6.3.linux-amd64.tar.gz -C /usr/local/
#注:必须使用root账户或者使用sudo来解压缩Go源码包
3、设置PATH环境变量,添加/usr/local/go/bin到环境变量
export PATH=$PATH:/usr/local/go/bin
4、安装到自定义位置
Go二进制文件默认安装到/usr/local/go , 但是可以安装Go工具到不同的位置,可以自行定义,只需要设置正确的环境变量 。
例如 , 安装Go到家目录下,必须添加环境变量到$HOME/.profile
export GOROOT=$HOME/go
export PATH=$PATH:$GOROOT/bin
注:安装Go到其他目录时,GOROOT必须设置为环境变量
5、检查是否正确安装程序
通过设置一个工作区和建立一个简单的程序,检查是否正确安装了一个简单的程序 。创建一个目录包含您的工作空间,例如/data/work,并设置GOPATH环境变量指向的位置 。
export GOPATH=/data/work
#如果不存在/data/work,需要新建
然后,在你的工作内创建src/github.com/user/hello , 如果使用github,可以使用自己的用户名代替user , 在hello目录下,新建hello.go
# cat hello.go
package main
import "fmt"
func main {
fmt.Printf("hello,world!\n")
}
#使用go编译hello.go
go install github.com/user/hello
#上面的命令讲名叫hello(or hello.exe)的程序放到你的工作区内,执行下面命令,会得到输出结果 。
$GOPATH/bin/hello
hello,world!
#当出现hello,world!表明Go已经安装成功可以工作 。
二、Go工作区介绍
1、机构组织代码概述
Go语言程序通常将所有的代码保存在一个工作区中 。
工作区包含许多版本控制库(由Git管理) 。
每个存储库包含一个或多个包 。
每个包由一个或多个在一个目录中的源文件组成 。
一个包的目录的路径决定其导入路径 。
注:同于其他的编程环境中,每一个项目都有一个独立的工作区且工作区是紧密联系在一起的版本控制库 。
2、工作区介绍
工作区是一个目录层次结构,它的根目录有三个目录:
src 包含Go源文件
pkg包含对象和包
bin 包含可执行命令
Go工具创建源码包并安装二进制文件到pkg和bin目录下
src目录通常包含多个版本控制库(如Git或Mercurial),跟踪一个或多个源包的开发 。
下面展示一个好的工作区的例子:
bin/
hello# command executable
outyet# command executable
pkg/
linux_amd64/
github.com/golang/example/
stringutil.a# package object
src/
github.com/golang/example/
.git/# Git repository metadata
hello/
hello.go# command source
outyet/
main.go# command source
main_test.go# test source
stringutil/
reverse.go# package source
reverse_test.go# test source
golang.org/x/image/
.git/# Git repository metadata
bmp/
reader.go# package source
writer.go# package source
... (many more repositories and packages omitted) ...
上面的属性图展示了一个包含两个存储库(example和image)的工作区 , example 存储库包含两个命令(hello,outyet),image库包含bmp包和几个其他的包 。
【linux支持go语言吗 linux支持的编程语言】一个典型的工作区包含包含许多软件包和命令的多个源库 。大多数程序员将所有的源代码和依赖关系保存在一个工作区中
3、GOPATH环境变量设置
GOPATH环境变量指定工作区的位置 。它很可能是唯一的环境变量,代码开发时需要设置 。
推荐阅读
- chatgpt写稿可以投稿吗,chest投稿
- phpcms的模板文件,php网站模板下载后怎么用
- 滕州政协公众号关注,滕州政协公众号关注网
- thinkphpcrm系统源码,thinkphp5源码解读
- c语言子函数互相调用 c语言子函数调用主函数数组
- 新媒体如何写共鸣,新媒体写作公式
- 用flutter的app,用flutter的人多吗
- C语言仅在函数中可见 c语言允许在函数中定义函数吗
- 包含postgresql9.6uuid的词条