准备进入 Go 中复杂数据类型的世界吗?
full lessons here👇:
https://programmerscareer.com/zh-cn/golang-basic-skill/
由AI生成,可能有错误,仅供参考
主题:Go 中的字符串
Go 中,字符串是一系列字节,可以潜在地表示 Unicode 字符。可以使用双引号将文本创建为字符串:
1 | var s string = "Hello, Golang" |
Go 还提供了许多内置函数来操作字符串,在 strings
包中,如 strings.ToLower()
、strings.ToUpper()
、strings.Trim()
、strings.Replace()
等。
主题:数组在 Go 中
数组是一系列具有单一类型和固定长度的元素。在 Go 中,它们看起来像这样:
1 | var a [5]int |
上面,我们声明了一个名为 a
的数组,用于存储恰好 5 个整数。数组的类型由其元素类型和长度组成。
主题:切片在 Go 中
Go 中的切片是一种关联数据结构(也称为哈希或字典)。
可以使用 make
命令创建一个空切片:
1 | s := make([]string, 3) |
可以像数组一样设置和获取值:
1 | s[0] = "a" |
切片可以是动态的。例如,可以使用 append
函数追加元素:
1 | s = append(s, "d") |
这就是 Go 中切片的基本知识。
主题:Map 在 Go 中
Go 中的 Map 是一种关联数据结构(也称为哈希或字典)。
可以使用 make
命令创建一个空 Map:
1 | m := make(map[string]int) |
可以使用 typical name[key] = val
语法设置键/值对:
1 | m["Key1"] = 7 |
可以使用 name[key]
语法获取一个键的值:
1 | v1 := m["Key1"] |
builtin delete
函数可以从 Map 中删除键/值对:
1 | delete(m, "Key2") |
optional 第二个返回值在获取值时指示键是否存在于 Map 中。这可以用来区分缺少的键和具有零值的键,如 0
或 ""
。
1 | _, isThere := m["UnkownKey"] |
现在,我们将转到 Structs。
主题:Structs 在 Go 中
Go 的 structs 是一种类型化的字段集合。它们非常适合将相关数据元素组合在一起。
以下是一个 Go 中的 struct 示例:
1 | type Person struct { |
这定义了一个新的类型,我们可以使用它创建新的 Person
对象:
1 | p := Person{name: "Alice", age: 30} |
可以使用点符号访问 struct 字段:
1 | p.age++ |
主题:指针的介绍
指针是对内存位置的地址。它在 Go 中是一个非常有用的特性,如果使用得当。
以下是一个简单的指针示例:
1 | i := 7 // declare an int variable i |
请花一些时间 internalize 这个概念。指针可以很棘手!
English post: https://programmerscareer.com/go-basic-02/
作者:Wesley Wei – Twitter Wesley Wei – Medium
注意:本文为作者原创,转载请注明出处。
评论