3 回答
TA贡献1802条经验 获得超6个赞
[d]
只是一个索引表达式,它对前面使用复合文字创建的数组进行索引。
这:
[...]string{"North", "East", "South", "West"}
string
是一个数组复合文字,它使用列出的元素创建一个元素类型的数组,并随后[d]
索引该数组。该方法返回这个 4 大小数组的d
第一个元素。
请注意,这...
意味着我们希望编译器自动确定数组大小:
该表示法
...
指定数组长度等于最大元素索引加一。
TA贡献1817条经验 获得超14个赞
这部分声明了一个包含四个字符串的数组文字:
[...]string{"North", "East", "South", "West"}
d
然后这部分从数组中获取第th 个元素:
[...]string{"North", "East", "South", "West"}[d]
Direction
必须要int
让它发挥作用。
TA贡献1876条经验 获得超7个赞
提到[d] 是一个索引表达式。
以下只是一个查看输出的工作示例
package main
import "fmt"
type Direction int
func (d Direction) String() string {
return [...]string{"North", "East", "South", "West"}[d]
}
func main() {
n:=Direction(0) // d=0
fmt.Println(n)
w:=Direction(3) // d=3
fmt.Println(w)
}
输出:
North
West
更清楚地说,
return [...]string{"North", "East", "South", "West"}[d]
可以展开为
func (d Direction) String() string {
var directions = [...]string{"North", "East", "South", "West"}
return directions[d]
}
- 3 回答
- 0 关注
- 113 浏览
添加回答
举报