我正试图把头埋在嵌入golang中,当涉及到嵌入另一个类型的状态时,我有点困惑。
这是我的问题:如果我有一个类型为dependencies {
compile fileTree(dir: 'libs',include: ['*.jar'])
// ...
configurations.all {
exclude module: 'animated-vector-drawable'
}
}
的整数,并且它具有影响其值的方法,应该以嵌入它的类型出现吗?
这是我在玩的东西:
Embedii
https://play.golang.org/p/ArqKESVWoS-
我很好奇为什么我必须将现有的package main
import (
"fmt"
)
type Embedii int
func (y *Embedii) Do() {
if y == nil {
y = new(Embedii)
} else {
*y = *y + 1
}
fmt.Println(*y)
}
type Embedder struct {
*Embedii
}
func main() {
embedii := new(Embedii)
embedii.Do() // prints 1
embedii.Do() // prints 2
fmt.Println("---")
embedder := new(Embedder)
embedder.Do() // prints 0
embedder.Do() // prints 0
fmt.Println("---")
nembedii := new(Embedii)
embedo := &Embedder{nembedii}
embedo.Do() // prints 1
embedo.Do() // prints 2
}
实例显式传递给Embedii
类型才能正常工作