Go 语言入门
Step 1 安装程序
不用多么复杂的东西,只需要去官网下载对应的安装包,然后安装就ok
官网下载地址请点击右侧传送门?传送门
下载对应版本的 适合自己 机型的 安装包 我这边是mac,所以下载了这个

直接安装就好,默认安装路径便在
/user/local/go里面。所以下一步需要配置环境变量sudo vim /etc/profile这里需要输入密码,密码是看不见的,输完直接回车就好了-> 密码是你的开机密码回车后看见一个界面,在下方输入 一下三行代码就ok
# 记得在最下方输入,别输错了,记得复制就好了,
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
## 备注,这是指定工作空间的,比如我的代码会放在 `workspace/gocode` 下方
export GOPATH=$HOME/Desktop/workspace/gocode
## 输入完成后,按 esc 然后输入英文状态的 : (冒号) 然后输入: wq! 表示强制保存并退出
- 最后要生效 命令:在终端输入
# 让环境变量文件生效
source /etc/profile
- 补充: 若是你发现你的电脑在某个位置不生效,你就在执行第6步的命令就ok了,或者你注销,或者重启一下就ok了。
- 至于windows, 同样的方法,不过是知道安装包下的bin目录,然后右键我的电脑,然后点击属性,找到高级设置,找到环境变量,然后点击系统环境变量,他有上下俩层,你设置下面的那层,然后找到 path, 这里记得点击修改,不是其他的哦,别搞错了,然后在下方吧 安装路径 精确到bin目录 的路径设置进去就OK了,我windows好久没用了,所以差不多就这样。(见谅)
Step 2 下面就正式开始学习 Go 了 Let’s Go!
在你的电脑上运行 Hello World!
来一起
你可以自己选择编辑器,比如vscode啥的,我这边使用vscode
// 开发一个程序 打印 Hello World ! package main import "fmt" func main() { fmt.Println("Hello World !") }使用终端在该源文件下
go build helloWorld.go && ./helloWorld若是要指定 打包文件名
go build -o helloWorld.go hello(这里是打包文件名)会生成hello二进制文件,然后使用./hello 便可运行,在windows下,制定的是hello.exe 这里需要注意下,这个只能在命令行(cmd)下执行这里就实现了 hello world
其中 首先是需要打包,我这里叫做main然后引入 fmt 这库,这库里有很多函数,比如 Println()
如果不引入,
fmt.Println就是 未定义(undefined)
go 语言代码通过 包 组织,类似于其他语言的库(libraries)或者模块。
每个源文件都以一条
package申明,如上方例子就是package main开始main 包就是类似于 c语言中的main函数一样,是一个程序的入口。Go语言中函数便是一等公民。
import 必须跟在package后面, 必须使用双引号
一个函数由
func关键字来定义变量由
var关键字来定义常量由
const关键字来定义类型的申明语句由
type关键字来定义
Step 3 命令行参数
os包以跨平台的方式,提供额一些与操作系统交互的函数和变量,程序的命令行参数可以os包的Args变量获取;os 包外部使用 os.Args访问该变量 (是不是有点看不懂的感觉,我其实这会儿也不太明白,一会儿懂了,再说明)os.Args变量是一个字符串的切片,类似于slice,简易版的动态数组,使用arr[i]访问单个元素,使用arr[m: n]获取子序列,意思类似于这样arr1 = arr[m] ~ arr[n-1]这里所有的元素集合(左闭右开)- 示例:
// Echo 打印它的命令行参数 package main import ( "fmt" "os" ) func main () { var s, sep string for i := 1; i < len(os.Args); i++ { s += sep + os.Args[i] sep = " " } fmt.Println(s) }
- var声明定义了两个string类型的变量s和sep。变量会在声明时直接初始化。如果变量没有显式初始化,则被隐式地赋予其类型的零值,数值类型是0,字符串类型是空字符串""。这个例子里,声明把s和sep隐式地初始化成空字符串
s += sep + os.Args[i]等价于s = s + sep + os.Args[i]- 循环索引变量i在for循环的第一部分中定义。符号
:=是短变量声明的一部分,这是定义一个或多个变量并根据它们的初始值为这些变量赋予适当类型的语句 - 注意 对于
i++他是语句,不是表达式所以,不能使用 a = i++ (❌)