go語言變數宣告後的預設值

benben_2015發表於2017-12-11

go語言變數宣告後的預設值

在go語言中,任何型別在宣告後沒有賦值的情況下,都對應一個零值。

  • 整形如int8、byte、int16、uint、uintprt等,預設值為0。
  • 浮點型別如float32、float64,預設值為0。
  • 布林型別bool的預設值為false。
  • 複數型別如complex64、complex128,預設值為0+0i。
  • 字串string的預設值為”“。
  • 錯誤型別error的預設值為nil。
  • 對於一些複合型別,如指標、切片、字典、通道、介面,預設值為nil。而陣列的預設值要根據其資料型別來確定。例如:var a [4]int,其預設值為[0 0 0 0]。

瞭解這些之後,在平時的程式碼編寫中,就要注意對於沒有賦值的變數進行操作時,一定要先對其值進行判斷,以免出現錯誤。

相關文章