dow98764 2018-02-13 13:14
浏览 39
已采纳

用于结构指针的切片文字的golang快捷方式语法

Given

type foo struct {
    id int
}

the two look equivalent

var foos = []*foo{
    {1},
    {2},
    {3}}

var foos = []*foo{
    &foo{1},
    &foo{2},
    &foo{3}}

Why is that? Can't find mentioning of it in TGPL though.

https://play.golang.org/p/JXxZaybbWnV

  • 写回答

1条回答 默认 最新

  • douyi9787 2018-02-13 13:25
    关注

    You can skip the type in composite literals.

    Within a composite literal of array, slice, or map type T, elements or map keys that are themselves composite literals may elide the respective literal type if it is identical to the element or key type of T. Similarly, elements or keys that are addresses of composite literals may elide the &T when the element or key type is *T.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?