美文网首页Go专题
[转]Golang中的三个点...有什么用?

[转]Golang中的三个点...有什么用?

作者: 右哼哼丨左哼哼 | 来源:发表于2020-01-21 13:51 被阅读0次

    直接上干货

    ‘…’ 其实是go的一种语法糖。
    它的第一个用法主要是用于函数有多个不定参数的情况,可以接受多个不确定数量的参数。
    第二个用法是slice可以被打散进行传递。

    func test1(args ...string) { //可以接受任意个string参数
        for _, v:= range args{
            fmt.Println(v)
        }
    }
    下面直接上例子:
    func main(){
    var strss= []string{
            "qwr",
            "234",
            "yui",
            "cvbc",
        }
        test1(strss...) //切片被打散传入
    }
    

    结果:

    qwr
    234
    yui
    cvbc
    

    其中strss切片内部的元素数量可以是任意个,test1函数都能够接受。

    第二个例子:

    var strss= []string{
            "qwr",
            "234",
            "yui",
    
        }
        var strss2= []string{
            "qqq",
            "aaa",
            "zzz",
            "zzz",
        }
    strss=append(strss,strss2...) //strss2的元素被打散一个个append进strss
    fmt.Println(strss)
    

    结果:
    [qwr 234 yui qqq aaa zzz zzz]
    如果没有’…’,面对上面的情况,无疑会增加代码量,有了’…’,是不是感觉简洁了许多

    本文转载自:golang中的三个点 '...' 的用法

    相关文章

      网友评论

        本文标题:[转]Golang中的三个点...有什么用?

        本文链接:https://www.haomeiwen.com/subject/elrezctx.html