Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melintasi parameter berubah dalam golang?

Bagaimana untuk melintasi parameter berubah dalam golang?

王林
王林asal
2024-04-29 17:12:01722semak imbas

Anda boleh melintasi parameter pembolehubah dalam Go through kata kunci julat, yang menggunakan gelung untuk julat untuk melintasi setiap nilai parameter pembolehubah. Sebagai alternatif, kaedah lain boleh digunakan, seperti fungsi len() dan index(), membongkar hujah variadic atau menggunakan pakej mencerminkan terbina dalam.

Bagaimana untuk melintasi parameter berubah dalam golang?

Cara untuk lelaran ke atas parameter variadik dalam Go

Dalam bahasa Go, parameter variadic diwakili menggunakan sintaks ..., yang membolehkan anda menghantar sebarang bilangan parameter ke fungsi. Cara untuk lelaran ke atas parameter pembolehubah adalah seperti berikut: ... 语法表示,它允许您向函数传递任意数量的参数。遍历可变参数的方法如下:

使用 range 关键字

func printValues(values ...int) {
    for _, value := range values {
        fmt.Println(value)
    }
}

实战案例

假设我们有一个函数,它接收一个可变数量的整数并返回它们的总和。我们可以通过遍历可变参数并使用 + 运算符来编写此函数。

func sumValues(values ...int) int {
    var sum int
    for _, value := range values {
        sum += value
    }
    return sum
}

func main() {
    result := sumValues(1, 2, 3, 4, 5)
    fmt.Println("结果:", result)
}

输出:

结果: 15

其他方法

除了 range 关键字之外,还可以使用其他方法来遍历可变参数:

  • 使用 len()index() 函数: len() 函数返回可变参数的长度,而 index() 函数返回指定索引处的参数。
  • 拆包可变参数: 可将可变参数拆包到一个切片中,然后遍历切片。
  • 使用内置的 reflect 包: reflect 包提供了 ValueOf()Len()
Gunakan kata kunci julat 🎜🎜rrreee🎜🎜Kes praktikal 🎜🎜🎜Andaikan kita mempunyai fungsi yang menerima nombor pembolehubah integer dan pulangan jumlah mereka. Kita boleh menulis fungsi ini dengan menggelung pada argumen variadic dan menggunakan operator +. . 🎜Gunakan fungsi len() dan index(): 🎜 fungsi len() mengembalikan panjang argumen pembolehubah, manakala index () Fungsi mengembalikan parameter pada indeks yang ditentukan. 🎜<li>🎜Membongkar parameter pembolehubah: 🎜 Anda boleh membongkar parameter pembolehubah ke dalam kepingan dan kemudian melintasi kepingan. 🎜</li> <li>🎜Gunakan pakej <code>reflect terbina dalam: 🎜 Pakej reflect menyediakan ValueOf() dan Len() Fungsi yang boleh digunakan untuk mendapatkan jenis dan panjang parameter pembolehubah. 🎜🎜

Atas ialah kandungan terperinci Bagaimana untuk melintasi parameter berubah dalam golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn