我是 Golang 的新手,我做了一个学习它的例子,但是我的例子中不允许导入周期,所以有人知道如何避免这种情况吗?这是我的代码。
银行,去
package Bank
import (
"../../class/human"
"fmt"
)
func Transfer(payer, receiver *human.Human, payment float64) {
if payer.Bank > payment {
payer.Bank -= payment
receiver.Bank += payment
} else {
fmt.Println("Bank balance not enough")
}
}
人间围棋
package human
// import "../../func/Bank"
type Human struct {
Name string
Cash float64
Bank float64
}
func (h *Human) Transfer(Receiver Human, payment float64) {
}
主程序
package main
import (
"./class/human"
"./func/Bank"
)
func main() {
gary := human.Human{"Gary", 2000.0, 40000.0}
Sam := human.Human{"Sam", 10000.0, 500000.0}
Bank.Transfer(&Sam, &gary, 5000)
}
在上面的代码中可以正常使用
Bank.Transfer(&Sam, &gary, 5000)
但我认为应该是人类使用 Bank 函数,所以我如何将它重写成这个?
Sam.Transfer(&gary, 5000)
我试图在 Human.go 中导入 Bank.go,但出现了导入周期不允许的错误。我不确定是我的逻辑错误还是我糟糕的代码设计,但让我们看看是否有人可以解决这个问题。
DIEA
相关分类