Golang 如何使用省略号(…)

Golang 如何使用省略号(…)

在Golang中,三个点( )被称为Ellipsis,用于可变参数函数。被调用时参数数量可变的函数称为可变参数函数。换句话说,用户可以在可变参数函数中传递零个或多个参数。fmt.Printf是可变参数函数的一个例子,它在开始时需要一个固定参数,之后可以接受任意数量的参数。

可变参数函数的最后一个参数始终使用Ellipsis。这意味着它可以接受任意数量的参数。

示例1:

//演示如何在 Golang 中使用省略号(…)
package main
  
import "fmt"
  
func main() {
    sayHello()
    sayHello("Rahul")
    sayHello("Mohit", "Rahul", "Rohit", "Johny")
}
  
//使用省略号
func sayHello(names ...string) {
    for _, n := range names {
        fmt.Printf("你好 %s\n", n)
    }
} 

输出:

你好 Rahul
你好 Mohit
你好 Rahul
你好 Rohit
你好 Johny

示例2:

//演示如何在 Golang 中使用省略号(…)
package main
 
import (
    "fmt"
)
 
//使用可变参数函数
func find(num int, nums ...int) {
    fmt.Printf("nums的类型是% T\n", nums)
    found := false
    for i, v := range nums {
        if v == num {
            fmt.Println(num, "在", nums, "的索引为", i, "找到")
            found = true
        }
    }
    if !found {
        fmt.Println(num, "没有在", nums, "中找到")
    }
    fmt.Printf("\n")
}
func main() {
 
    // 调用具有可变数量参数的函数
    find(89, 89, 90, 95)
    find(45, 56, 67, 45, 90, 109)
    find(78, 38, 56, 98)
    find(87)
} 

输出:

nums的类型是 []int
89在 [89 90 95] 的索引为 0 找到

nums的类型是 []int
45在 [56 67 45 90 109] 的索引为 2 找到

nums的类型是 []int
78没有在 [38 56 98] 中找到

nums的类型是 []int
87没有在 [] 中找到

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程