站长资讯网
最全最丰富的资讯网站

聊聊关于Go Type的使用场景

本文由go语言教程栏目给大家介绍关于Go Type的使用场景 ,希望对需要的朋友有所帮助!

Go Type 使用场景

type 使用场景

1. 定义结构体

// 定义商标结构 //将Brand定义为如下的结构体类型 type Brand struct { } // 为商标结构添加Show()方法 func (t Brand) Show() { }

2. 作别名

在 Go 1.9 版本之前定义内建类型的代码是这样写的:

type byte uint8 type rune int32

而在 Go 1.9 版本之后变为:

type byte = uint8 type rune = int32

区分类型别名与类型定义

// 将NewInt定义为int类型 type NewInt int // 将int取一个别名叫IntAlias type IntAlias = int func main() {     // 将a声明为NewInt类型     var a NewInt     // 查看a的类型名     fmt.Printf("a type: %Tn", a)     // 将a2声明为IntAlias类型     var a2 IntAlias     // 查看a2的类型名     fmt.Printf("a2 type: %Tn", a2) } a type: main.NewInt a2 type: int

批量定义结构体

type (     // A PrivateKeyConf is a private key config.     PrivateKeyConf struct {         Fingerprint string         KeyFile     string     }     // A SignatureConf is a signature config.     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 }

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号