GOPATH和GOROOT
阿新 • • 發佈:2018-03-10
rom main ubun 包含 println 執行文件 pat ola 目錄
環境變量
- 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
- 這裏多了一個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