这是我参与「第三届青训营 -后端场」笔记创作活动的的第 1 篇笔记
本文记录我初次学习 Golang 的一些记录,可能写的较为简略。
1. 基础环境安装
1.1 基本环境
操作系统首先排除 Windows,所以我的 Go 语言环境是安装在 WSL2 上的。在 Ubuntu 下安装 Go 语言还是蛮方便的,使用如下命令基本就安装好了
sudo apt-get install golang-go
对了最好再设置个代理
echo export GOPROXY=https://mirrors.aliyun.com/goproxy/ > .bashrc
更详细的参考在这篇文章:如何为Linux安装Go语言
1.2 编辑器
vscode 一把梭。安个 wsl 和 go 插件就完事了
2. Go 语言入门(不算入门的入门)
首先强烈建议过一遍官方教程。官方提供了在线平台,我们可以一边看教程一边码代码
2.1 前言
首先说一下我对 Golang 的直观感受吧。因为我之前一直都在写 C++,所以刚看到 Go 语言的代码的时候有点懵,不是说难以理解,是因为不习惯哈哈哈,就比如:
- C++
int main(int argc, char** argv){}
- Golang
func main(argc int, argv string[]) int {}
主要的区别是 C++ 的属性类型/返回值的类型都是写在前面的,而在 Go 中是写在后面的。这里给出了原因
2.2 基本语法
学习一个语言的基本语法当然是从循环、分支、判断之类的开始,我们直接看几个代码熟悉熟悉就算学会了(
- 循环
循环就一个 for 关键字,配合多种写法达到不同效果。下面写几个典型:
for {} // while (true) {}
for i < 100 {} // while (i < 100) {}
for i := 0; i < 5 { i = i + 1}
- 分支与判断
if else 走天下
if 8 % 4 == 0 {
fmt.Println("8 is divisible by 4")
}
if num := 9; nun < 0 {
fmt.Println(num, "is negative")
} else if num < 10 {
fmt.Println(num, "has 1 digit")
} else {
fmt.Println(num, "has multiple digits")
}
switch 也可以走天下(就是比较灵活,case 里面可以写多个条件,而且不用在后面追加 break)
switch i {
case 1:
...
case 2, 3, 4:
...
default:
...
}
- 函数
func add(a int, b int) int { return a + b }