go言語type使用テクニック
2628 ワード
import "fmt"
type Rank int
const (
Rank001 Rank = iota
Rank002
Rank003
Rank004
)
var rewards = [...]string{
" 1"," 2"," 3"," 4",
}
func (r Rank) getReward() string {
return rewards[r]
}
func main() {
fmt.Println(Rank003.getReward())
}
このようにして、ランキングを奨励に柔軟に対応させ、「オブジェクト向け」にランキング、このintタイプをランキングとして宣言し、メンバー関数を追加します.通常の方式はC/C++,Javaでは,直接2つの次元数グループで目を覚ます処理が行われているが,相対的にgo言語という方式は,本当に素晴らしい!
go time/time.go:
108 type Weekday int
109
110 const (
111 Sunday Weekday = iota
112 Monday
113 Tuesday
114 Wednesday
115 Thursday
116 Friday
117 Saturday
118 )
119
120 var days = [...]string{
121 "Sunday",
122 "Monday",
123 "Tuesday",
124 "Wednesday",
125 "Thursday",
126 "Friday",
127 "Saturday",
128 }
129
130 // String returns the English name of the day ("Sunday", "Monday", ...).
131 func (d Weekday) String() string { return days[d] }