ホームページ >バックエンド開発 >Golang >golang では... とはどういう意味ですか?

golang では... とはどういう意味ですか?

青灯夜游
青灯夜游オリジナル
2019-12-23 14:19:1510432ブラウズ

golang では... とはどういう意味ですか?

Golang では... とはどういう意味ですか?

golang では、3 つのドット「...」は実際には go の糖衣構文 (糖衣構文) の一種です。

シンタクティック シュガー (Syntactic Sugar) は、糖衣構文とも訳され、イギリスのコンピューター科学者ピーター J. ランディンによって発明された用語で、コンピューター言語に追加された特定の機能を指します。言語の機能には影響を与えませんが、プログラマにとってはより便利な構文です。一般に、シンタックス シュガーを使用するとプログラムの可読性が向上し、プログラム コード エラーの可能性が減ります。

「...」の使用法:

● 最初の使用法は主に、関数に変数として表現される複数の不定パラメーターがある場合に使用されます。パラメータは、同じタイプのパラメータをいくつでも受け入れることができます。

# 2 番目の使用法は、スライスを分割して転送できることです。

次は例です:

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関数はそれを受け入れることができます。

2 番目の例:

    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 では... とはどういう意味ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。