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 關注
- 158 瀏覽
添加回答
舉報