这是我参与「第五届青训营 」伴学笔记创作活动的第 1 天
之前没怎么写笔记,现在对于之前所学知识点进行一个查漏补缺的记录与总结
一、本堂课重点内容:
- 本堂课重点介绍go语言基础语法与常见数据类型的使用
二、详细知识点介绍:
- 基本类型
基本类型是 Go自带类型,如 数值、浮点、字符串、布尔、数组 及 错误 类型,本质上是原始类型,不可改变,所以对他们进行操作,一般都会返回一个新创建的值,所以把这些值传递给函数时,其实传递的是一个值的副本。
- 引用类型
引用类型和原始的基本类型恰恰相反,它的修改可以影响到任何引用到它的变量。在 Go 语言中,引用类型有 切片(slice)、字典(map)、接口(interface)、函数(func) 以及 通道(chan) 。
- 结构类型
结构类型是用来描述一组值的,本质上是一种聚合型的数据类型。要定义一个结构体的类型,通过 type 关键字和类型 struct 进行声明。
- 自定义类型
Go 语言支持自定义类型,一个方式是可以自定义结构体类型,这也是比较常用的自定义类型的方法。另外一个方法是基于一个已有的类型,就是基于一个现有的类型创造新的类型,这种也是使用 type 关键字。
三、实践练习例子:
基本类型
func main() {
name := "小二"
fmt.Println(modify1(name))
fmt.Println(name)
}
func modify1(sname string)string{
sname = sname + sname
return sname
}
引用类型
func main() {
ages := map[string]int{"小三": 200}
fmt.Println(ages)
modify2(ages)
fmt.Println(ages)
}
func modify2(m map[string]int) {
m["小三"] = 100
}
结构类型
type book struct {
page int
book_name string
}
自定义类型
type Duration int64
var i Duration = 100
四、课后个人总结:
- 需明白值传递与引用传递的区别以及在Go当中的体现
- 需对切片的扩容过限情况进行了解
五、引用参考: