Go语言开发环境搭建【Win、Linux、Mac】
1 SDK下载
- 官网地址:golang.org,因为一些原因国内可能无法访问。可以使用下面第二个链接。
- 国内地址访问:https://golang.google.cn/dl或者https://www.golangtc.com/download
根据自己操作系统版本,下载安装即可,目录尽量选择全英文且没有空格和其他其他特殊字符。
2 环境变量配置[GOPATH、GOROOT]
2.1 Windows下
GOPATH:即默认的workspace路径,在未指定项目路径时使用;
GOROOT:Golang的安装路径
讲解:
- 进入环境变量配置:此电脑-属性-关于-高级系统设置-环境变量
①配置GOROOT
新增系统环境变量,变量名为
GOROOT
,值为:go的安装目录
②在Path中配置,go的路径,引用上面配置的GOROOT
系统变量-Path-新增-新建的值填写为
%GOROOT%\bin
③配置GOPATH(以后Go项目存放的路径位置)
2.2 linux下
①确认linux版本
uname -a
32位系统下载:gox.x.x.linux-386.tar.gz
64位系统下载:gox.x.x.linux-amd64.tar.gz
安装路径不要有中文或特殊符号、空格等
②安装目录建议放在/opt
下
通过xftp或其他软件将压缩包上传到/opt目录下
#进入对应目录并解压
cd /opt
tar -zxvf go1.9.2.linux-amd64.tar.gz
③配置环境变量
- 以root权限编辑/etc/profile文件
# 输入下面命令回车并输入密码后进入root权限【linux输入密码默认不显示,直接输入即可】
su root
- 使命令生效
# 刷新环境变量
source /etc/profile
# 或者注销后重新登录
Mac系统的上配置Go的开发环境类似于linux
3 检测
不论在windows还是linux下,直接打开终端,输入go version
即可:
- windows:
- linux:
4 开发简单go程序
4.1 hello.go程序入门
①文件目录结构
②开发工具:选择Goland或者VSCode等
此处以VSCode演示
//每个go文件都需要归属于一个包
package main
//下面用到了fmt的Println函数,因此需要导包
import "fmt"
func main(){
fmt.Println("hello,go")
}
运行:
//方式一:将hello.go编译为hello.exe文件,然后再直接运行hello.exe
go build hello.go
.\hello.exe
//方式二:直接以脚本方式运行(底层还是编译过了)
go run hello.go
拓展:指定编译后的文件名称
//将hello.go编译生成myhello.exe文件
go build -o myhello.exe hello.go
4.2 go的执行流程分析
- 对源码编译后执行
- 直接对源码执行
两种执行方式的区别?
- 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行【因为已经编译为了二进制,例如:windows上会直接编译生成.exe文件】
- 如果我们是直接go run go的源代码,那么如果要在另一个机器上运行,也需要go开发环境,否则无法执行
- 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件会变大很多
5 Go语言开发的注意事项
①注意事项
- 源文件以
.go
为扩展名- Go应用程序入口是main()函数
- Go语言严格区分大小写
- 每个语句不需要加分号【编译器会自动帮我们添加】,体现了go的简洁性
- 不能把多条语句写在同一行,否则会报错【go的编译器是一行一行编译的】
- 定义的变量或import的包没有使用到,代码编译不通过
- 一个包下面只能有一个main函数入口,就类似于Java的包下面类名不能重复。如果有多个main,可以分开在不同的包下
②go的转义字符及注释
转义字符:
\t
:制表符\n
:换行符\\
:一个\,通常用于文件分隔符\r
:回车符
\"
:代表一个"
注释:
被注释的内容不会被go编译器所编译
- 行注释:
//
//fmt.Println("jack")
- 块注释:
/**/
/*
fmt.Println("tom")
fmt.Println("jucy)
*/
注意:块注释不能嵌套
③编程风格及API地址
- 编程风格
- 官方推荐使用行注释
- 代码中需要有正确的缩进和空白【可以使用gofmt进行格式化】
- 运算符两边加空格
- 花括号只能在行尾
//花括号只有这一种写法,go开发者认为应当统一风格
func main(){
}
- 一行最多不能超过80个字符
- API地址
官网:https://golang.org
- Golang 官方标准库 API 文档, https://golang.org/pkg 可以查看 Golang 所有包下的函数和使用
Golang中导包原理:
- 离线版(大家可以自行百度下载一个API)
参考:https://blog.csdn.net/Mr_XiMu/article/details/124671852