go初始化變數之自動推倒

2021-10-04 00:09:24 字數 564 閱讀 5617

package main

import 「fmt」

func main() {

//在標準格式 `var hight int = 165`基礎上,將int省略後,編輯器會根                據等號右邊的表示式

//推導hight變數的型別 `var hight = 100`

//等號右邊的部分在編譯原理裡被稱為「右值」

//例如

`var r = 23` //右值為整形

`var pi float32 =3.14` //右值為3.14,預設情況下編譯器會盡量提高精確度,

將pi的型別推導為float64位,由於在上面例子中我們不需要float64的精度,

所以強制指定型別為float32

`var area = float32(r * r) * pi//r

`//整形和r整形相乘,結果也必然是整形,所以使float32()強制

//將結果轉化為float32型別,再與pi相乘

`fmt.println(area`)//輸出area的值

變數的自動初始化

變數的初始化分為倆種型別 1.內建型別自動初始化。程式中有乙個資料區,存放已初始化的全域性變數,靜態變數和常量,所以會增加目標檔案的大小。還有乙個未初始化資料區bss 存放未初始化全域性變數,但是在程式開始執行之前,這些資料會被初始化為0或者null。所以bss資料在目標檔案中只佔乙個符號位,編譯器...

變數的自動初始化

1 1 include2 define const 100 3int p1 4int a 2 5 intb 6static intc 7main 8 輸出 const 100 a 0 0 b 0c 0 d 2514932 e 0f 0 1307813 p2 457819009 資料區存放已初始化的全...

Go語言變數的初始化

當然,依然可以在變數宣告時賦予變數乙個初始值。回顧c語言 在c語言中,變數在宣告時,並不會對變數對應記憶體區域進行清理操作。此時,變數值可能是完全不可預期的結果。開發者需要習慣在使用c語言進行宣告時要初始化操作,稍有不慎,就會造成不可預知的後果。在網路上只有程式設計師才能看懂的 燙燙燙 和 屯屯屯 ...