c语言编程笔录

首页 >   > 笔记大全

笔记大全

Golang中的数组、字符串和切片在定义使用

更新时间:2023-09-13

数组

在Golang中,数组是一种固定长度且具有相同数据类型的数据结构。它们允许我们在一个变量中存储多个值,并根据索引访问这些值。数组的长度在创建时就确定,并且不能动态改变。

下面是一个定义和使用数组的示例:

    var arr [5]int  // 定义一个长度为5的整数数组
    arr[0] = 10     // 使用索引为0的位置赋值为10
    arr[1] = 20     // 使用索引为1的位置赋值为20
    fmt.Println(arr)  // 打印整个数组 [10 20 0 0 0]

在上面的示例中,我们首先创建了一个长度为5的整数数组。然后,我们使用索引操作符`[]`将具体的值分配给数组的每个位置。最后,我们打印整个数组,结果为`[10 20 0 0 0]`。

字符串

在Golang中,字符串是一串字符的序列,使用双引号`"`或反引号`括起来。字符串是不可变的,即不能更改字符串中的字符。我们可以使用索引操作符`[]`和切片操作符`[:]`来访问和提取字符串中的字符。

下面是一个定义和使用字符串的示例:

    str := "Hello, Go!"
    fmt.Println(len(str))  // 打印字符串的长度 11
    fmt.Println(str[0])    // 打印第一个字符的ASCII值 72
    fmt.Println(str[:5])   // 提取子串 "Hello"

在上面的示例中,我们首先创建了一个字符串,然后使用`len()`函数来获取字符串的长度。接下来,我们使用索引操作符`[]`来访问和打印字符串中的第一个字符以及它的ASCII值。最后,我们使用切片操作符`[:]`提取字符串的子串。

切片

在Golang中,切片是对数组的一个动态长度窗口的引用。它们允许我们在不改变底层数组的情况下操作数组的部分。切片是可变的,可以根据需要增加或减少其长度。

下面是一个定义和使用切片的示例:

    arr := [5]int{1, 2, 3, 4, 5}  // 创建一个长度为5的整数数组
    s := arr[1:4]                // 创建一个包含索引1到3的切片
    fmt.Println(s)              // 打印切片 [2 3 4]
    s[0] = 10                   // 修改切片的第一个值
    fmt.Println(arr)            // 打印原始数组 [1 10 3 4 5]

在上面的示例中,我们首先创建了一个长度为5的整数数组。然后,我们使用切片操作符`[:]`创建一个包含索引1到3的切片。接下来,我们修改了切片的第一个值为10。最后,我们打印原始数组,可以看到切片的修改也影响了底层数组。

总结

Golang中的数组、字符串和切片都是重要的数据结构,各自有其特点和用法。

数组是一种固定长度的数据结构,用于存储多个相同类型的值。数组的长度在创建时确定,并且不能动态改变。

字符串是一串字符的序列,使用双引号`"`或反引号`括起来。字符串是不可变的,不能更改字符串中的字符,但可以通过切片获取子串。

切片是对数组的一个动态长度窗口的引用,可以根据需要增加或减少其长度。切片是可变的,对切片的修改会影响底层数组。

对于不同的场景和需求,我们可以选择合适的数据结构来存储和处理数据,以提高代码的效率和可读性。