Golang面向对象相关概念-Golang夯实基础第八天

面向对象 匿名字段 见匿名嵌套结构体 接口 interface 定义对象方法的规范,只定义规范,具体实现由对应的对象实现,在 Go1.18 之前,接口只定义方法,只有方法集(method set),在 Go1.18 版本出现了泛型,接口同时也转变为了类型集(type Set),可以用于定义类型。 在这里先按照 Go1.18 之前的版本进行学习归纳,在后面再对泛型进行学习之后,再学习归纳接口对类型的

- 阅读全文 -

Golang异常处理、单元测试和方法-Golang夯实基础第七天

异常处理 Go 没有结构化的异常,只能使用 panic 内置函数抛出异常,recover 内置函数在 defer 中捕获异常,然后程序正常运行。 panic func panic(v any) 抛出异常的内置函数; 可以在任何地方调用; recover func recover() any 捕获 panicking 行为的函数; 可以在任何地方定义,但是只有在 defer 定义的

- 阅读全文 -

Golang循环语句和函数-Golang夯实基础第六天

循环语句 for 语法 Go 语言 for 循环有三种形式 for init; condition ; post {} for condition {} for {} 第一种形式和其他语言一样 第二种形式相当于其他语言的 while 循环 第三者形式相当于第二种形式为关系表达式为 true 的结果,无限循环 示例 第一种 func Test_D

- 阅读全文 -

Golang条件语句if、switch、select-Golang夯实基础第五天

条件语句 if 规范 条件表达式的括号省略,如果写上了,保存之后 Go 会自动纠正规范,去掉括号 条件表达式定义的变量,在执行体内可以访问 条件表达式可以多条语句,使用分号区分,取最后一条作为判断语句 var a int = 0 func IncOne() int { a++ return a } func Test_D_0(t *testing.T) {

- 阅读全文 -

Golang指针、Map和结构体-Golang夯实基础第四天

指针 指针是存储变量地址值的一种指针变量 指针的概念并非 Go 语言所独有的,C/C++ 也有指针,但是 Go 语言的指针,在正常情况下,是不允许编译和运算的。 使用 & 取变量的地址值,使用 * 取指针指向的地址值所存储的值,& 和 * 是一对互补的操作符 func Test_C_0(t *testing.T) { a := 100 b := &a c :

- 阅读全文 -

Golang数据类型、数组和切片-Golang夯实基础第三天

nil 空值指针 类型转换 Go 语言只有强制类型转换,没有隐式转换 基本格式: T(表达式) T表示对应要转为的数据类型 func Test_B_11(t *testing.T) { var a int = 10 var b string = "ABC" var c string = "哇哈哈WHH" a2 := float32(a) b2 := []byte(b)

- 阅读全文 -