Golang 如何将数组传递给函数

Golang 如何将数组传递给函数

在编程中,为了使代码更模块化、可用和可读,我们将代码分解为不同的函数。例如,我们必须对一些数字进行排序,我们将创建一个单独的函数来实现。为此,编程中有一种称为数组的数据结构,它是同一类型的多个值的集合。一旦对数字数组进行排序,然后在该函数的末尾我们必须返回已排序的元素,因此在本文中我们将看到如何返回数组。

语法

使用数组作为参数声明函数的语法是:

func functionName(arrayVariableName [sizeOfArray]datatype) returnType {
    // logic
}

步骤

  • 步骤 1:var array [2] string 声明一个大小为2的字符串数组。

  • 步骤 2:array[0] = "John" 初始化数组的两个索引。

  • 步骤 3:printInAlphabeticalorder(array) 调用函数,并把数组作为参数传递。

    • if strings.Compare(array[0], array[1]) == 1 {} 开始if条件,比较两个字符串并根据条件打印。
  • 步骤 4: 在被调用函数中按字母顺序打印结果。

示例

在这个示例中,我们将创建一个大小为两个的字符串数组,并将这个数组传递给一个函数来按字母顺序打印数组中的字符串。

package main

import (
    // fmt package provides the function to print anything
    "fmt"
    // strings package has functions related to string
    "strings"
)

// array is the argument in this function
func printInAlphabeticalorder(array [2]string) {
    fmt.Println("Printing strings in alphabetical order.")

    // comparing both the string and printing the
    // one first that comes first in alphabetical order
    if strings.Compare(array[0], array[1]) == 1 {
        fmt.Printf("%s %s\n", array[0], array[1])
    } else {
        fmt.Printf("%s %s\n", array[1], array[0])
    }

}

func main() {
    // declaring the array of type string with size 5
    var array [2]string

    // initializing all the indexes of an array
    array[0] = "John"
    array[1] = "Andrew"

    fmt.Println("Golang program to pass array in an argument.")
    // passing argument in the function
    printInAlphabeticalorder(array)

}

输出

Golang program to pass array in an argument.
Printing strings in alphabetical order.
John Andrew

步骤

  • 步骤1:var array [5]int 声明大小为5的整数数组类型。

  • 步骤2:array[0] = 5 …. 初始化数组的所有索引。

  • 步骤3:printInSumOfArray(array) 调用传递数组作为参数的函数。

    • var sum int / sum = 0 函数首先初始化和声明数字。

    • for i := 0; i < len(array); i++ { } 运行循环以找到数组中所有数字的和。

  • 步骤4: 以字母顺序打印在调用的函数中的结果。

示例

在这个示例中,我们将创建一个大小为5的整数数组,并通过将数组传递给一个函数来找到数组中所有数字的和。

package main

import (
    // fmt package provides the function to print anything
    "fmt"
)

// array is the argument in this function
func printInSumOfArray(array [5]int) {
    fmt.Println("Printing the sum of all the numbers in the array.")
    // declaring the variable sum of int type int to store the sum
    // of all the numbers in the array
    var sum int

    // initializing the variable sum with 0
    sum = 0

    // running a for loop over the array
    for i := 0; i < len(array); i++ {
        // adding current index number of array in sum
        sum = sum + array[i]
    }

    fmt.Printf("The sum of all the numbers in the array is %d.\n", sum)
}

func main() {
    // declaring the array of type string with size 5
    var array [5]int

    // initializing all the indexes of an array
    array[0] = 5
    array[1] = 59
    array[2] = 43
    array[3] = 12
    array[4] = 98

    fmt.Println("Golang program to pass array in argument.")
    // passing argument in the function
    printInSumOfArray(array)

}

输出

Golang program to pass array in an argument.
Printing the sum of all the numbers in the array.
The sum of all the numbers in the array is 217.

结论

这是将数组传递给函数的两个示例,第一个示例中我们传递了一个字符串类型的数组,并按照字母顺序打印了值。在第二个示例中,我们传递了一个整数类型的数组,并打印了数组中所有数字的和。如果想要了解更多关于Go的知识,你可以浏览这些 教程 。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程