自動推斷型別與變數的賦值問題
// 顯示定義變數的型別
var block Block
bci.db.View(func(tx *bolt.Tx) error {
bucket := tx.Bucket([]byte(blockBucket))
if bucket == nil {
log.Panic("Error: Bucket is nil!")
}
v := bucket.Get(bci.currentHashPointer)
// decode
block := Deserialize(v) // 問題出在這裡,不應該使用自動推斷型別賦值,可能會導致識別為內部變數,類似於js中的閉包?
bci.currentHashPointer = block.PrevHash
return nil
})
return &block // 導致返回為空