type使用場景
1.定義結構體
type Brand struct {
}
func (t Brand) Show() {
}
2.作別名
在 Go 1.9 版本之前定義內建型別的程式碼是這樣寫的:
type byte uint8
type rune int32
而在 Go 1.9 版本之後變為:
type byte = uint8
type rune = int32
區分型別別名與型別定義
type NewInt int
type IntAlias = int
func main() {
var a NewInt
fmt.Printf("a type: %T\n", a)
var a2 IntAlias
fmt.Printf("a2 type: %T\n", a2)
}
a type: main.NewInt
a2 type: int
批量定義結構體
type (
PrivateKeyConf struct {
Fingerprint string
KeyFile string
}
SignatureConf struct {
Strict bool `json:",default=false"`
Expiry time.Duration `json:",default=1h"`
PrivateKeys []PrivateKeyConf
}
)
單個定義結構體
type PrivateKeyConf struct {
Fingerprint string
KeyFile string
}
type SignatureConf struct {
Strict bool `json:",default=false"`
Expiry time.Duration `json:",default=1h"`
PrivateKeys []PrivateKeyConf
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結