type <name> <anothertype>创建一个类型,其内存布局与anothertype相同,但没有其方法。 这允许在类型上声明方法,否则将不可能。 例如利用type key int可以实现具有密钥的fmt.Stringer,
type key int
func (k key) String() string {
return fmt.Sprintf("Value of key is %d", k)
}
字符串 其可用作
func (k key) String() string {
return fmt.Sprintf("Value of key is %d", k)
}
func main() {
var k key = 20
fmt.Printf("k: %v\n", k) // k: Value of key is 20
var intK int = 10
fmt.Printf("intK: %v\n", intK) //intK: 10
}
1条答案
按热度按时间qmb5sa221#
type <name> <anothertype>
创建一个类型,其内存布局与anothertype
相同,但没有其方法。这允许在类型上声明方法,否则将不可能。
例如利用
type key int
可以实现具有密钥的fmt.Stringer
,字符串
其可用作
型