Go语言程序:向切片添加元素
在本教程中,我们将学习如何使用不同的示例向切片添加元素。切片就像数组一样,是一系列元素的序列。数组是固定长度的元素序列,而切片是动态数组,这意味着它的值不是固定的,可以更改。切片比数组更高效、更快,而且它们是按引用传递而不是按值传递。让我们通过示例来理解。
方法 1:使用 append 函数添加字符串
在这种方法中,我们将使用 append 函数向切片添加字符串元素。我们使用了 append 函数,这是一个内置函数,其功能如下所述。让我们来看一下它是如何执行的。
语法
func append(slice, element_1, element_2…, element_N) []T
append 函数用于向数组切片添加值。它接受多个参数。第一个参数是要向其中添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的最终数组切片。
算法
步骤 1 − 创建一个 main 包,并在程序中声明 fmt(格式化包),其中 main 生成可执行代码,fmt 帮助格式化输入和输出。
步骤 2 − 创建一个 main 函数,在该函数中创建一个名为 countries 的切片,并在控制台上打印它。
步骤 3 − 现在使用 append 函数向切片添加新的字符串元素,并将此赋值给名为 new_countries 的变量。
步骤 4 − 使用 fmt.Println() 函数(其中 ln 指的是换行)在控制台上打印 new_countries 中存储的值。
示例
使用 append 函数向切片添加字符串元素的 Go 语言程序
package main import "fmt" func main() { // create a slice of type string Countries := []string{"Iceland", "Switzerland"} fmt.Println("The slice before adding of elements is:", Countries) // append new elements and old slice in new slice new_countries := append(Countries, "Canada", "Italy") fmt.Println("The new slice after adding elements is:") fmt.Println(new_countries) // print new slice }
输出
The slice before adding of elements is: [Iceland Switzerland] The new slice after adding elements is: [Iceland Switzerland Canada Italy]
方法 2:使用 copy 函数
语法
在这种方法中,我们将使用 copy 函数向切片添加元素。copy 函数是一个内置函数,其功能如下所述。让我们学习执行程序所需的步骤。
func copy(dst, str[] type) int
Go 语言中的 copy 函数用于将一个源数组的值复制到目标数组,并返回复制的元素数量作为结果。它以两个数组作为参数。
算法
步骤 1 − 创建一个 main 包,并在程序中声明 fmt(格式化包),其中 main 生成可执行代码,fmt 帮助格式化输入和输出。
步骤 2 − 创建一个 main 函数,在该函数中创建一个名为 countries 的切片,并在控制台上打印它。
步骤 3 − 创建另一个字符串类型的切片,并将它的内容复制到旧切片。
步骤 4 − 使用 fmt.Println() 函数在屏幕上打印元素复制后旧切片的内容。
示例
使用 copy 函数向切片添加元素的 Go 语言程序
package main import "fmt" func main() { // create a slice of type string countries := []string{"Canada", "Italy"} fmt.Println("The slice before adding element is:", countries) morecountries := []string{"Finland", "Switzerland"} // create a new slice to copy the elements of slice new_slice := copy(countries, morecountries) fmt.Println("The slice after adding element in slice is:") fmt.Println("The new slice we created has", new_slice, "elements->", countries) }
输出
The slice before adding element is: [Canada Italy] The slice after adding element in slice is: The new slice we created has 2 elements-> [Finland Switzerland]
方法 3:使用 append 函数添加整数值
在这种方法中,我们将使用 append 函数向切片添加整数元素。我们使用了 append 函数,这是一个内置函数,其功能如下所述。让我们来看一下它是如何执行的。
语法
func append(slice, element_1, element_2…, element_N) []T
append 函数用于向数组切片添加值。它接受多个参数。第一个参数是要向其中添加值的数组,后跟要添加的值。然后,该函数返回包含所有值的最终数组切片。
算法
步骤 1 − 创建一个 main 包,并在程序中声明 fmt(格式化包),其中 main 生成可执行代码,fmt 帮助格式化输入和输出。
步骤 2 − 创建一个 main 函数,在该函数中创建一个名为 numbers 的切片,并在控制台上打印它。
步骤 3 − 现在使用 append 函数向切片添加新的整数元素,并将此赋值给名为 new_numbers 的变量。
步骤 4 − 使用 fmt.Println() 函数(其中 ln 指的是换行)在控制台上打印 new_numbers 中存储的值。
示例
package main import "fmt" func main() { // create a slice of type int numbers := []int{1, 2} fmt.Println("The slice before adding of elements is:", numbers) // append new elements in the slice new_numbers := append(numbers, 3, 4) fmt.Println("The new slice after adding elements is:") // print new slice fmt.Println(new_numbers) }
输出
The slice before adding of elements is: [1 2] The new slice after adding elements is: [1 2 3 4]
结论
我们通过三个示例执行了向切片添加元素的程序。在第一个示例中,我们使用 append 函数添加字符串元素;在第二个示例中,我们使用 copy 函数添加值;在第三个示例中,我们使用 append 函数添加整数元素。这两个示例给出类似的输出。因此,程序成功执行。