使用复合字面量创建 Go 语言切片


在 Go 编程语言中,复合字面量用于创建给定类型的切片、数组、结构体等对象并对其进行初始化。本文将通过三个示例来创建切片。第一个示例将创建数字切片,第二个示例将创建字符串切片,第三个示例将使用内置函数创建切片。通过这种方式演示了切片的创建。让我们来看一下这些示例,以便更清晰地了解这个概念。

语法

func make ([] type, size, capacity)

Go 语言中的 `make` 函数用于创建数组/映射。它接受要创建的变量类型、大小和容量作为参数。

funcappend(slice, element_1, element_2…, element_N) []T

`append` 函数用于向数组切片添加值。它接受多个参数。第一个参数是要添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的最终数组切片。

算法

  • 导入程序中所需的包

  • 使用复合字面量创建切片并在切片中添加值

  • 在控制台上打印切片

  • 使用 `Println` 函数执行打印语句,其中 `ln` 表示换行。

示例 1

在这个示例中,在主函数中使用复合字面量创建一个整数切片。输出将是使用 `fmt` 包中的 `Println` 函数在控制台上打印的切片。

package main

import "fmt"

func main() {
   slice := []int{10, 20, 30, 40, 50}

   fmt.Println("The values of the slice are:")
   fmt.Println(slice)
}

输出

The values of the slice are:
[10 20 30 40 50]

示例 2

在这个示例中,将在主函数内使用复合字面量创建一个巧克力字符串切片,稍后将使用 `fmt` 包中的 `Println` 函数(其中 `ln` 表示换行)在控制台上打印。

package main

import "fmt"

func main() {
   chocolates := []string{"Munch", "Perk", "5star", "Dairymilk"}

   // Print the slice to the console
   fmt.Println("The chocolates in the slice are:")
   fmt.Println(chocolates)
}

输出

The chocolates in the slice are:
[Munch Perk 5star Dairymilk]

示例 3

在这个示例中,使用 `make` 函数创建切片,并设置切片的大小。稍后,使用 `append` 函数向切片中添加元素,最后在控制台上打印切片。

//Golang program to create slice using composite literal
package main

import "fmt"

func main() {
   values := make([]int, 0, 5)

   values = append(values, 10, 20, 30, 40, 50)

   // Print the slice on the console
   fmt.Println("The values of the slice are:")
   fmt.Println(values)
}

输出

The values of the slice are:
[10 20 30 40 50]

结论

我们通过三个示例编译并执行了使用复合字面量创建切片的程序。在第一个示例中,使用复合字面量创建了数字切片;在第二个示例中,创建了字符串切片;在第三个示例中,使用了内置函数执行操作。

更新于:2023年7月20日

浏览量:129

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.