环境变量
- 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")
}
编译应用
编译之前的目录
root@ubuntu:/Home/Projects/Go# tree
.
└── src
└── Hello
└── Hello.go
编译一个不存在的包
root@ubuntu:/Home/Projects/Go# go install test
can‘t load package: package test: cannot find package "test" in any of:
/usr/lib/go-1.6/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
执行可执行文件
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