跳转至

Go 语言常识

code-sandbox

Module 模式代码组织

阅读以下文档:

GOPATH 模式代码组织(废弃)

所有的Go代码被组织在一个工作空间GOPATH中(由环境变量GOPATH指定)。

GOPATH/
    bin/
    pkg/
    src/
  • 可直接运行的命令行工具应当放置在main包中。

基本结构

package main

import "fmt"

func main() {
    fmt.Println("Hello, world!")
}

命令行工具 go

包管理工具 go get

go get -flags <package>  # 远程包导入
  • <package>可以是url,也可以是all
  • -fix
  • -u update
  • -v verbose

go get设置HTTP代理

go 服从 http_proxyhttps_proxy

http_proxy=127.0.0.1:8080 go get code.google.com/p/go.crypto/bcrypt
set http_proxy=http://[user]:[pass]@[proxy_ip]:[proxy_port]/
set https_proxy=http://[user]:[pass]@[proxy_ip]:[proxy_port]/

开发工具

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct
go install github.com/mdempsky/gocode@latest
go install github.com/uudashr/gopkgs/cmd/gopkgs@latest
go install github.com/ramya-rao-a/go-outline@latest
go install github.com/acroca/go-symbols@latest
go install golang.org/x/tools/cmd/guru@latest
go install golang.org/x/tools/cmd/gorename@latest
go install github.com/go-delve/delve/cmd/dlv@latest
go install github.com/stamblerre/gocode@latest
go install github.com/rogpeppe/godef@latest
go install github.com/sqs/goreturns@latest
go install golang.org/x/lint/golint@latest