初學Golang的一些細節

鹿鹿脖子长發表於2024-12-10

自動推斷型別與變數的賦值問題

	// 顯示定義變數的型別
	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  // 導致返回為空

相關文章