安装
下载地址:
https://studygolang.com/dl
或 https://www.golangtc.com/download
当前的最新版go1.9.linux-amd64.tar.gzcd
# wget https://storage.googleapis.com/golang/go1.9.src.tar.gz
进入/usr/local 下,创建go目录,并解压到go目录,并自动解压到go1.9下
go目录成为安装和项目工作的总目录
# mkdir go
# tar -zxvf go1.9.linux-amd64.tar.gz
创建目录结构
/usr/local
|
| _go总目录
| ——go.1.9目录 //go语言包安装目录,就是GOROOT= /usr/local/go/go1.9
|
| ——project目录//项目工作目录,就是GOPATH= /usr/local/go/project
| |可以有多个类似project的目录,直接添加在GOPATH后面,用:号隔开
| |——bin目录 (非必须开始要创建,使用go install命令,会自动创建)
| |——pkg目录(非必须开始要创建,使用go build 命令,会自动创建)
| |——src目录 //自己的项目工程放在src下面,下载的github代码包也会放在src根目录下
| |
| |——app1(项目1)在Gogland中setiing设置GOPATH
| | Global GOPATH=/usr/local/go/project
| | Project GOPATH=/usr/local/go/project/src/app1
| |——main文件夹(包)
| | |—— mian.go (Packagemian func main(){fmt.Println("hello world")})
| | |代码里第一行的包名要跟所在的文件夹名字一致
| | |—— mygin.go (Packagemian)
| |——mogo文件夹(包)| | |—— mydata.go (Packagemogo)
| | |—— mydb.go (Packagemogo)
| |...
|—— project2
设置环境变量
#GO ---------------------
export GOROOT=/usr/local/go/go1.9/go
export GOPATH=/usr/local/go/project
export GOBIN=/usr/local/go/project/bin
export PATH=$PATH:$GOROOT/bin
检查
# go env
GOARCH="amd64"
GOBIN="/usr/local/go/project/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/usr/local/go/project"
GORACE=""
GOROOT="/usr/local/go/go1.9"
GOTOOLDIR="/usr/local/go/go1.9/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build481528747=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
# go version
vim编辑main代码
# vim main.go
mian.go 代码如下:
package mian
import "fmt"
func main(){
fmt.println("hello world")
}
命令编译
进入 /usr/local/go/project/src/app1/mian 目录下
# go build main.go
pgk下生成mian.a
# go install main.go
bin下生成mian.exe 因为mian.go 包含mian()函数是入口