GOPATH和GOROOT
安装指定版本golang
apt-get purge golang* //删除之前安装的文件
add-apt-repository ppa:evarlast/golang-1.8
apt-get update
apt-get install golang-1.8
vim ~/.bashrc
PATH=$PATH:/usr/lib/go-1.8/bin
source ~/.bashrc
环境变量
- GOROOT golang安装路径 包含golang源码和它们的二进制文件
- GOPATH 工作目录
查看安装之后的环境变量
root@ubuntu:~# go env
GOPATH=""
GOROOT="/usr/lib/go-1.6"
设置环境变量
mkdir -p /home/Projects/Go //创建工作目录
vim ~/.bashrc //编辑此文件 并添加如下代码
GOPATH=/Home/Projects/Go
export GOPATH
PATH=$PATH:$GOPATH/bin # Add GOPATH/bin to PATH for scripting
source ~/.bashrc //生效配置
再次查看环境变量
root@ubuntu:~# go env
GOPATH="/Home/Projects/Go"
GOROOT="/usr/lib/go-1.6"
创建自己的应用包
mkdir -p $GOPATH/src/Hello //创建文件夹
cd $GOPATH/src/Hello //进入到目录
vim Hello.go //创建hello文件
package Hello
import "fmt"
func Say(){
fmt.Println("hello world")
}
- 这里需要大写
编译应用
- 任意目录执行 go install + 包名称
- 包目录下执行 go install
编译之前的目录
root@ubuntu:/Home/Projects/Go# tree
.
└── src
└── Hello
└── Hello.go
编译一个不存在的包
root@ubuntu:/home/Projects/Go/src/hello# go build test
can't load package: package test: cannot find package "test" in any of:
/usr/lib/go-1.8/src/test (from $GOROOT)
/Home/Projects/Go/src/test (from $GOPATH)
- 这里可以看到默认会从GOROOT和GOPATH 找相对应的包
编译
go build Hello
查看编译后的目录
root@ubuntu:/Home/Projects# tree
.
└── Go
├── pkg
│ └── linux_amd64
│ └── Hello.a
└── src
└── Hello
└── Hello.go
5 directories, 2 files
- 这里可以看到有一个pkg目录,下面有一个hello.a文件
创建主文件并引用刚才创建的包文件
mkdir main
vim main.go
package main
import "Hello"
func main(){
Hello.Say();
}
编译程序并查看
go build
root@ubuntu:/Home/Projects/Go# tree
.
├── pkg
│ └── linux_amd64
│ └── Hello.a
└── src
├── Hello
│ └── Hello.go
└── main
├── main
└── main.go
- 这里多了一个main文件夹就是可执行文件
执行可执行文件
root@ubuntu:/Home/Projects/Go/src/main# ./main
hello world
安装应用并查看
root@ubuntu:/Home/Projects/Go/src/main# go install
root@ubuntu:/Home/Projects/Go# tree
.
├── bin
│ └── main
├── pkg
│ └── linux_amd64
│ └── Hello.a
└── src
├── Hello
│ └── Hello.go
└── main
└── main.go
- 可以看到 多了一个bin目录 且目录下面有一个main文件
执行应用
root@ubuntu:/# main
hello world
GOPATH和GOROOT的更多相关文章
- golang 的GOPATH设置的问题
go run footer.go 的时候呢, go会依次去GOPATH 和GOROOT设置的对应路径下面找对应的包(目录和文件) 找的时候呢, 会在GoPATH 和GOROOT对应的目录后面再加一层路 ...
- windows下gopath设置
下载了go语言的安装包, 然后安装, 装完了需要设置三个地方: 1. 在windows的PATH变量中添加go的可执行文件所在的目录: PATH=C:\Go\bin;其他设置; 2. 设置 GOROO ...
- windows go安装
1.安装git 因为golang是通过git来管理远程包的,所以我们首先要安装git,下载地址:http://www.git-scm.com/download/. git安装比较简单,直接下一步即可( ...
- 搭建fedora开发环境 common lisp, c++, go
第三方软件库: http://download1.rpmfusion.org/free/fedora/releases/25/Everything/x86_64/os/repoview/index.h ...
- 安装thrift
要求 thrift至少需要支持三种语言: Java PHP Go 预安装 基本教程: http://thrift.apache.org/docs/install/centos 使用最新的thrift, ...
- go linux 学习记录
1 yum install mercurial 安装mercurial包 2 yum install git 安装git包 3 yum install gcc 安装gcc 4 然后就可以下载gola ...
- PyCharm/IntelliJ IDEA Golang开发环境搭建(最方便快捷的GO语言开发环境)
IntelliJ太牛了.为了配置Go语言开发环境,折腾了半天,下IDE(Sublime Text,IntelliJ Idea),然后装Go插件.装Go插件还要下载插件项目源码,编译等等,Sublime ...
- golang vim环境搭建
主要使用到的是golang的vim插件vim-go, 安装方法: (1)配置好自己的GOPATH和GOROOT: (2)在GOPATH目录下建立 src.pkg.main.bin四个目录: (3)安装 ...
- golang初体验
使用golang开发已经有一个多月了,除了一开始遇到的各种小白问题,IDE的选择,gopath,goroot的配置...后边还算顺风顺水的.实践体验,golang真的适合快速开发.特别是后台开发,直接 ...
随机推荐
- Django之分页升级版
如果查询出的数据,被分页了,这个时候翻页的时候应该讲页数的参数和查询的参数一块在URL上显示 """ 分页器 """ from django ...
- BZOJ 4551: [Tjoi2016&Heoi2016]树 并查集(&&图论?)
反向操作,先把所有的标记都打上(记得统计标记的数目),然后依次撤销,合并到自己的上一个点pre,即fa[u]=getf(pre[u]) #include<cstdio> #include& ...
- 丝滑顺畅:使用CSS3获取60FPS动画
原文链接: Smooth as Butter: Achieving 60 FPS Animations with CSS3 在移动端使用动画元素是很容易的. 如果你能遵循我们的这里的提示, 在移动端适 ...
- Consul实现服务治理1
NET Core微服务之基于Consul实现服务治理 https://www.cnblogs.com/edisonchou/p/9148034.html 一.Consul服务注册之配置文件方式 1.1 ...
- D - Simple String CSU - 1550
http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1550 很久都没补这题,最近想学网络流,就看看,队友以前用网络流过的,Orz, 但是这题只需要简 ...
- ssh登录出现 Host key verification failed. 问题
我们使用ssh链接linux主机时,可能出现“Hostkey verification failed.“的提示,ssh连接不成功.可能的提示信息如下: @@@@@@@@@@@@@@@@@@@@@@@@ ...
- 自动生成sql
添加下面这个类 public static class GetAllAttribute<T> where T : class { public static string Names; p ...
- DOCKER启动失败Job for docker.service failed because the control process exited with error code. See "syste mctl status docker.service" and "journalctl -xe" for details.
[root@localhost ~]# systemctl start docker Job for docker.service failed because the control process ...
- linux debian 时间设置中无法选择“自动设定时间和日期”
没有安装ntpdate 执行:apt-get install ntpdate ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)s1a.time.ed ...
- Java面向对象(static、final、匿名对象、内部类、包、修饰符、代码块)
面向对象 今日内容介绍 u final u static u 匿名对象 u 内部类 u 包的声明与访问 u 四种访问修饰符 u 代码块 第1章 final关键字 1.1 final的概念 继承的出现提 ...