@ icza и @Burak Serdar отметили, что [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]
}