1. 安装说明
Ubuntu 下直接安装 Go 1.11 版本编译器时需要依赖 Go 1.4 版本。所以如果在使用 apt-get install go安装时参考以下链接安装:blog.csdn.net/y5492853/ar…
国外官网 golang.org/dl/
国内官网 golang.google.cn/dl/
2. 安装 Go 1.12
- 下载安装包
wget https://dl.google.com/go/go1.12.4.linux-amd64.tar.gz
- 解压至 /usr/local目录
sudo tar -C /usr/local -xzf go1.12.4.linux-amd64.tar.gz
- 修改环境变量
vi ~/.profile
在文件后面增加
export GOROOT="/usr/local/go" // Go 的安装目录。也就是刚才解压缩指定的路径
export GOPATH=$HOME/gocode // 本机配置的 Go 代码目录
export GOBIN=$GOPATH/bin // Go 代码编译后的可执行文件存放目录
export PATH=$PATH:$GOPATH:$GOBIN:$GOROOT/bin // 将 Go 安装目录添加进操作系统 PATH 路径
- 保存并退出,并执行
source ~/.profile
- 重启系统
- 查看是否安装成功
wohu@wohu:~$ go version
go version go1.12.4 linux/amd64
3. 第一个 Go 程序
新建一个文本文件 hello,并编辑以下内容,文本文件以 .go 为后缀名
package main
import "fmt"
func main() {
/* 注释 */
fmt.Println("Hello, World!")
}
执行以上代码输出
$ go run hello.go
Hello, World!
3.1 程序结构说明
- package main
定义包名, 必须在源文件中非注释的第一行指明这个文件属于哪个包。package main 表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。
- import "fmt"
导入 fmt 包,fmt 包实现了格式化 IO(输入/输出)的函数。
- function main
func main() 是程序开始执行的函数。main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。
- /_ _/ 注释
单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /*_ 开头,并以 *_/ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。
- fmt.Println(...)
可以将字符串输出到控制台,并在最后自动增加换行字符 \n
- 行分隔符
在 Go 程序中,一行代表一个语句结束。每个语句不需要像 C 家族中的其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成。 如果你打算将多个语句写在同一行,它们则必须使用;人为区分,但在实际开发中我们并不鼓励这种做法。
- 标识符
标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(A-Z和a-z)数字(0-9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。
当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public)。
标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。
- 空格
Go 语言中变量的声明必须使用空格隔开,如: var age int
3.2 Go 源代码特点
- 源程序以
.go为后缀 - 源程序默认为
UTF-8编码 - 标识符区分大小写
- 语句结尾的分号可以省略
- 函数以
func开头,函数体开头的{必须在函数头所在行的尾部,不能单独起一行 - 字符串字面量使用
" "双引号括起来;字符字面量rune使用' '单引号括起来 - 调用包里面的方法使用
.点翻个访问符,这一点和 Python 一样 main函数所在的包名必须为main- 强类型静态编译型语言
4. VS Code 配置 Go 语言开发环境
在使用 VS Code 配置 Go 开发环境安装 Go 的相关插件时,会有类似如下的错误:
Error: Command failed: /usr/local/go/bin/go get -v github.com/ramya-rao-a/go-outline
由于种种原因,我们无法使用 VS Code 一键安装对应的插件,所以需要手动的下载插件源码包进行安装。
4.1 安装插件脚本合集
直接用下面的脚本进行安装,简单快捷。
#!/bin/bash
cd $GOPATH/src;
mkdir github.com;
cd $GOPATH/src/github.com;
mkdir acroca cweill derekparker go-delve josharian karrick mdempsky pkg ramya-rao-a rogpeppe sqs uudashr ;
cd $GOPATH/src/github.com/acroca;
git clone https://github.com/acroca/go-symbols.git;
cd $GOPATH/src/github.com/cweill;
git clone https://github.com/cweill/gotests.git;
cd $GOPATH/src/github.com/derekparker;
git clone https://github.com/derekparker/delve.git;
cd $GOPATH/src/github.com/go-delve;
git clone https://github.com/go-delve/delve.git;
cd $GOPATH/src/github.com/josharian;
git clone https://github.com/josharian/impl.git;
cd $GOPATH/src/github.com/karrick;
git clone https://github.com/karrick/godirwalk.git;
cd $GOPATH/src/github.com/mdempsky;
git clone https://github.com/mdempsky/gocode.git;
cd $GOPATH/src/github.com/pkg;
git clone https://github.com/pkg/errors.git;
cd $GOPATH/src/github.com/ramya-rao-a;
git clone https://github.com/ramya-rao-a/go-outline.git;
cd $GOPATH/src/github.com/rogpeppe;
git clone https://github.com/rogpeppe/godef.git;
cd $GOPATH/src/github.com/sqs;
git clone https://github.com/sqs/goreturns.git;
cd $GOPATH/src/github.com/uudashr;
git clone https://github.com/uudashr/gopkgs.git;
cd $GOPATH/src;
mkdir -p golang.org/x;
cd golang.org/x;
git clone https://github.com/golang/tools.git;
git clone https://github.com/golang/lint.git;
git clone https://github.com/golang/sys.git;
git clone https://github.com/golang/net.git;
git clone https://github.com/golang/mod.git;
git clone https://github.com/golang/xerrors.git;
git clone https://github.com/golang/text.git;
git clone https://github.com/golang/crypto.git;
cd $GOPATH/src;
go install github.com/mdempsky/gocode;
go install github.com/uudashr/gopkgs/cmd/gopkgs;
go install github.com/ramya-rao-a/go-outline;
go install github.com/acroca/go-symbols;
go install github.com/rogpeppe/godef;
go install github.com/sqs/goreturns;
go install github.com/derekparker/delve/cmd/dlv;
go install github.com/cweill/gotests;
go install github.com/josharian/impl;
go install golang.org/x/tools/cmd/guru;
go install golang.org/x/tools/cmd/gorename;
go install golang.org/x/lint/golint;
go install golang.org/x/tools/gopls;
5. VS Code 远程开发配置
如果要使用 VS Code 进行远程连接服务器进行开发时,请参考以下链接进行相应的配置:
Win10环境下配置VScode远程开发ssh-remote(免密登录)
VSCode 配置阿里云CentOS 7.6 远程开发
VSCode安装GO语言依赖工具
Windows64 Visual Studio Code 安装go插件失败分析及解决方案
windows下 go vscode编译运行方法
vsCode保存时代码自动格式化