Golang程序 将元素添加到切片中

Golang程序 将元素添加到切片中

在本教程中,我们将通过不同的例子学习如何将元素添加到片断中。分片是一个元素序列,就像一个数组。数组是一个固定的元素序列,而slice是一个动态数组,这意味着它的值不是固定的,可以改变。分片比数组更有效、更快速,而且它们是通过引用而不是通过值传递的。让我们通过这个例子来了解情况。

方法1:使用字符串的append函数

在这个方法中,我们将使用append函数将字符串元素添加到片断中。我们使用了append函数,它是一个内置的函数,其特征描述如下。让我们看一看,看看它是如何执行的。

语法

func append(slice, element_1, element_2…, element_N) []T

append函数用于向一个数组片断添加值。它需要一些参数。第一个参数是我们希望添加的数组,后面是要添加的值。然后,该函数返回包含所有值的数组的最终片断。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(格式包)包,其中main产生可执行代码,fmt帮助格式化输入和输出。

  • 第2步 – 创建一个函数main,并在该函数中创建一个名为country的片断,并将其打印在控制台。

  • 第3步 – 现在使用append函数将新的字符串元素添加到切片中,并将其分配给一个名为new_countries的变量。

  • 第4步 – 使用fmt.Println()函数在控制台打印存储在new_countries的值,其中ln指的是新行。

示例

Golang程序使用字符串的append函数在片断中添加元素

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函数来添加元素到切片中。复制函数是一个内置函数,其特征描述如下。让我们来灌输执行程序所需的步骤。

func copy(dst, str[] type) int 

Go语言中的copy函数用于将一个源数组的值复制到目标数组中,并将复制的元素数量作为结果返回。它需要两个数组作为参数。

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(格式包)包,其中main产生可执行代码,fmt帮助格式化输入和输出。
  • 第2步 – 创建一个函数main,并在该函数中创建一个名为country的片断,并将其打印在控制台。

  • 第3步- 创建另一个字符串类型的片断并将其内容复制到旧片断。

  • 第4步 – 使用fmt.Println()函数在屏幕上打印元素复制后的旧切片的内容。

示例

使用copy函数在切片中添加元素的Golang程序

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,并在该函数中创建一个带有数字名称的片断,并将其打印在控制台。

  • 第3步- 现在使用append函数将新的整数元素添加到片断中,并将其分配给一个名为new_numbers的变量。

  • 第4步 – 使用fmt.Println()函数在控制台打印存储在new_numbers中的数值,其中ln指的是新行。

示例

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函数来添加整数元素,这两个例子的输出结果相似。因此,该程序成功执行。