Go语言入门3 | 青训营笔记

56 阅读2分钟

今天重在学习一些基础语法虽然这东西大部分语言都一样,但是千里之行,始于足下。通过运用这些基础语法是掌握这门语言的快速途径。

1.Go 语言结构体

结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。

1.1定义结构体

type “结构体名称” struct {

   成员名字 成员数据类型

   成员名字 成员数据类型

   ...

   成员名字 成员数据类型

}

// 忽略的字段为 0 或 空

可以直接使用value进行赋值:结构体名称 := structure_variable_type {value1, ……}

也可以使用key-value进行赋值:结构体名称 := structure_variable_type { key1: value1, }

// 忽略的字段为 0 或 空

1.2访问结构体成员

格式:结构体.成员名

1.3结构体作为函数参数

可以像其他数据类型一样将结构体类型作为参数传递给函数。并以以上实例的方式访问结构体变量

1.4结构体指针(语言里面最头大的)

定义: var struct_pointer *Books

赋值存储结构体变量的地址:struct_pointer = &Books

使用访问结构体成员:struct_pointer.title

struct 类似于 java 中的类,可以在 struct 中定义成员变量。

要访问成员变量,可以有两种方式:

 1.通过 struct 变量.成员 变量来访问。

 2.通过 struct 指针.成员 变量来访问。

定义的结构体如果只在当前包内使用,结构体的属性不用区分大小写。如果想要被其他的包引用,那么结构体的属性的首字母需要大写。

2.Go 语言切片(动态数组)

数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大

1.1定义:1.var identifier []type(切片不需要说明长度)

             2. 使用 make() 函数来创建切片: var slice1 []type = make([]type, len)

           或者slice1 := make([]type, len)

1.2切片初始化

       1.2.1.直接:s :=[] int {1,2,3 } , []  表示是切片类型,其 cap=len=3

       1.2.2. 初始化切片 s,是数组 arr 的引用:s := arr[:]

1.3len() 和 cap() 函数

切片是可索引的,并且可以由 len() 方法获取长度。

切片提供了计算容量的方法 cap() 可以测量切片最长可以达到多少。

1.4空(nil)切片

一个切片在未初始化之前默认为 nil,长度为 0

1.5切片截取

可以通过设置下限及上限来设置截取切片 [lower-bound:upper-bound]