这是我参与【第五届青训营】伴学笔记创作活动的第一天
一、走进Go语言基础
我们将从:
- Go语言上手:
- 对基础语言进行学习
- 工程实践
- 高质量编程与性能调优实战
- 高质量Go语言发行版优化与落地实践
Go语言的特点:
字节全面拥抱Go的原因
- 最初使用的Python性能问题较为突出
- C++不适合在线web业务
- Go性能好于python
- 部署简单、学习成本低 (很好地解决了python带来的依赖库版本问题)
- 内部RPC和HTTP框架推广
二、开发环境
下载安装包按照提示去安装:
go.dev/
goproxy.cn/
studygolang.com/dl (国内镜像)
下载VS Code 或GoLand,并配置环境
三、示例代码
package main //这是程序的入口
import (
"fmt" //fmt包主要是为了输入输出字符串格式化字符串
)
func main() {
fmt.println("hello world")
}
左图所示把光标悬停一秒在包的函数上会有在线文档可以看多个函数进行使用(下图为文档)
3.1基础语法
3.1.1 常量和变量
变量类型中Go语言里的字符串是内置类型,也可以用等于号比较两个字符串。
变量的声明:
- var name string = "value" 声明变量的时候一般会自动推导变量的类型(有需要也可以写出)
- 变量 := value
常量自动确定类型。
3.1.2 if else
3.1.3 循环
3.1.4 switch
Go里的switch可以使用任意变量类型,甚至可以取代if else语句,可在switch后边不加任何变量,在case里写条件分支,这样比if else逻辑更清晰。
3.1.5 数组
3.1.6 切片
3.1.7 map
3.1.8 range
3.1.9 函数
3.1.10 指针
3.1.11 结构体
3.1.12 结构体方法
3.1.13 错误处理
3.1.14 字符串操作
3.1.15 字符串格式化
3.1.16 JSON处理
3.1.17 时间处理
3.1.18 数字解析
3.1.19 进程信息
四、感悟与收获
以上19个基础语法必须熟记,从range开始我就不太熟悉了,需要花一些课余时间熟记。Go语言确实较C++语法上简单一些,但并不能掉以轻心。