defer func(a int) {
fmt.Printf("%d ", fibonacci(a))
}
fmt.Printf("%d ", fibonacci(a))
}
2018-11-23
大部分語言中都有一下兩種變量類型
1. 值變量
值變量儲存的是變量的值,在作為函數傳遞的時候,是會拷貝的,對實參的修改,實際上是對拷貝的修改,不會改變原變量
2.引用變量
引用變量存儲的是變量的地址(在沒有指針的語言中,可以把它理解為指針),作為函數傳遞的時候,是不會拷貝的,對實參的修改,直接會改變原變量
總結:
1.struct 是值變量,所以作為參數會拷貝,修改實參并不會影響原參數,這時候如果需要修改原值,必須傳遞指針(引用變量)
2.在許多語言中都存在 值變量和引用變量,都會出現上訴問題,比較常見的是深拷貝和淺拷貝的問題
1. 值變量
值變量儲存的是變量的值,在作為函數傳遞的時候,是會拷貝的,對實參的修改,實際上是對拷貝的修改,不會改變原變量
2.引用變量
引用變量存儲的是變量的地址(在沒有指針的語言中,可以把它理解為指針),作為函數傳遞的時候,是不會拷貝的,對實參的修改,直接會改變原變量
總結:
1.struct 是值變量,所以作為參數會拷貝,修改實參并不會影響原參數,這時候如果需要修改原值,必須傳遞指針(引用變量)
2.在許多語言中都存在 值變量和引用變量,都會出現上訴問題,比較常見的是深拷貝和淺拷貝的問題
2018-11-09
說多個括號的有點搞笑哦, fmt.Printf("用解釋型字符串表示法表示的 %q 所代表的是 %s。\n", str1, (`\"`))
2018-11-04