Golang - 三个点‘...‘的用法

用法1)主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数(可选参数)

package main

import "fmt"

func test(args ...string) { // 可以接受任意个string参数
    for _, v := range args {
        fmt.Println(v)
    }
}

func main() {
    var str = []string{
        "c1",
        "c2",
        "c3",
        "c4",
    }
    test(str...) // 切片被打散传入
}

用法2)slice可以被打散进行传递(切片传递)

package main

import "fmt"

var str1 = []string{
    "q1",
    "q2",
    "q3",
}
var str2 = []string{
    "q",
    "c1",
    "c2",
    "c3",
}

func main() {
    str1 = append(str1, str2...) // str1的元素被打散一个个append进str2
    fmt.Println(str1)
}

posted @ 2024-03-13 13:13  李若盛开  阅读(158)  评论(0)    收藏  举报