我正在嘗試在我的結構上實現一個增量函數。我不知道為什么,但似乎當我調用F.incr()main 時,fib 結構的參數似乎保持不變。我想我可能對我在我的incr()函數中所做的事情有一個不正確的想法,盡管我無法找到正確的文檔。我錯過了什么?type fib struct { i uint64 fa uint64 fb uint64 }func (F fib) incr(){ F.i++ F.fa, F.fb = F.fa+F.fb, F.fa}func main() { F := fib{1,1,0} var sum uint64 = 0 for; F.i <= 10; F.incr() { k := f(F.i, F.fb, F.fa) fmt.Printf("calculating the %vth f(i,F_%v, F_%v): %v\n", F.i, F.i-1, F.i, k) —snip-編輯:感謝@peterSO,我需要將 incr 更改為 func (F *fib) incr(){
1 回答

萬千封印
TA貢獻1891條經驗 獲得超3個贊
您需要更新方法以增加該位置的變量值。因此,您需要更改F()方法
func (F *fib) incr(){
F.i++
F.fa, F.fb = F.fa+F.fb, F.fa
}
不同之處在于*
- 1 回答
- 0 關注
- 142 瀏覽
添加回答
舉報
0/150
提交
取消