为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 *S Slice 可以用文字 S 开头?

为什么 *S Slice 可以用文字 S 开头?

波斯汪 2022-03-07 15:41:46
我在 go 编程语言的 page187 中看到了这种语法。var tracks = []*Track{    {"Go", "Delilah", "From the Roots Up", 2012, length("3m38s")},    {"Go", "Moby", "Moby", 1992, length("3m37s")},    {"Go Ahead", "Alicia Keys", "As I Am", 2007, length("4m36s")},    {"Ready 2 Go", "Martin Solveig", "Smash", 2011, length("4m24s")},}它只是一个语法糖吗var tracks = []*Track{    &Track{"Go", "Delilah", "From the Roots Up", 2012, length("3m38s")},    &Track{"Go", "Moby", "Moby", 1992, length("3m37s")},    &Track{"Go Ahead", "Alicia Keys", "As I Am", 2007, length("4m36s")},    &Track{"Ready 2 Go", "Martin Solveig", "Smash", 2011, length("4m24s")},}我没有用谷歌搜索它的规格,如果有,请给我链接。
查看完整描述

1 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

参考规范

在数组、切片或映射类型 T 的复合字面量中,本身是复合字面量的元素或映射键如果与 T 的元素或键类型相同,则可以省略相应的字面量类型。类似地,作为地址的元素或键当元素或键类型为 *T 时,复合字面量可以省略 &T。

[...]*Point{{1.5, -3.5}, {0, 0}}    // same as [...]*Point{&Point{1.5, -3.5}, &Point{0, 0}}


查看完整回答
反对 回复 2022-03-07
  • 1 回答
  • 0 关注
  • 155 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信