GO语言基础语法(包含个人认识) | 青训营笔记
1.个人对GO语法的认识
- 像指针、结构体等知识点,写法上非常像C语言
- 又比如切片的操作又和python语法中的切片非常像
- 还有像switch的语法中不用像其他大部分语言一样需要写break;语句,较为灵活
- 变量类型的识别和变化灵活
- 数组和Map等数据类型的定义和其他语言是相反的,是先定义大小,再定义数据类型:比如 [3]int
- var 定义在之前是可写可不写的
- 新增加了一些方式,像如下的range方式就是一种较为新颖的语法
for i, num := range nums {
sum +=num
fmt.Println( "index : ", i, "num: " , num)
}
- 结构体函数则是相当于JAVA中的类成员方法,可以通过该结构体对象,并使用
.来直接调用,可以说是融合了一些面向对象的思想在里面,从而使语法更加简单,写出来的代码更加精炼 - 对错误的处理相较于其他语言更加简单,以如下的方法来处理代码的出现的错误,更加简便
func findUser(users []user, name string) (v *user, err error) {
for _, u := range users {
if u.name == name {
return &u, nil
}
}
return nil, errors.New("not found")
}
2.GO语言的优点(个人观点)
1.GO语言安装简单:
- 直接安装完成之后直接上手,不用像JAVA一样配置一堆环境变量
- 能够适应一些高并发的场景
- 自带丰富的内部语法库,方便引入;比如对JSON语法格式能够自动解析的库 "encoding/json"
- 语法格式严格:像大括号必须要分行书写等
- 上手快速(当然自己之前要有学习过其他任何一门经典的编程语言,有一定的基础,不然也不可能快速上手)
- 学习成本较低
- 能够实现跨平台
- 能够快速实现功能
3.基础知识点罗列
- 变量定义
- if-else
- 循环(for)
- switch
- 数组
- 切片
- map
- range
- 函数
- 指针
- 结构体
- 结构体方法
- 错误处理
- 字符串操作
- 字符串格式化
- JSON处理
- 时间处理
- 数字解析 19.扩展 --> 其他标准库的使用