我是新来的;有两个共享相似行为的文件,并被告知使用组合来避免重复代码,但不能完全理解组合的概念。
这两个文件具有共同的功能,但又各有不同。
播放器1.go
package game
type confPlayer1 interface {
Set(string, int) bool
Move(string) bool
Initialize() bool
}
func Play(conf confPlayer1) string {
// code for Player1
}
// ... other funcs
播放器2.go
package game
type confPlayer2 interface {
Set(string, int) bool
Move(string) bool
// Initializer is only for Player1
}
func Play(conf confPlayer2) string {
// code for Player2, not the same as Player1.
}
// ... the same other funcs from player1.go file
// ... they differ slighly from player1.go funcs
有没有办法将所有内容合并到一个player.go文件中?
收到一只叮咚
相关分类