package main
import
"fmt"
var a =
100func
main()
package main
import
"fmt"
var a =
100func
main()
package main
import
"fmt"
var a =
100funcf1(
)func
main()
package main
import
"fmt"
var a =
100funcf1(
)func
main()
}
函式會先在函式體內找變數
函式體內沒有,會去找全域性變數
被呼叫的函式,無法找到呼叫者函式體內定義的變數
package main
import
"fmt"
var a =
100func
f1(x int
)func
main()
package main
import
"fmt"
var a =
100func
f1(x int
)func
main()
package main
import
"fmt"
var a =
100func
f1(x int
)func
main()
}
1.1被呼叫的函式會先從呼叫者函式內找引數
1.2如果呼叫者函式內沒有找到,會去全域性變數裡找
1.3如果被呼叫的函式在塊內,會先從塊級變數找起然後向外找變數
package main
import
"fmt"
//全域性變數, 如果首字母大寫就是包級全域性變數
var a =
100//全域性變數
func
f1(x int
)func
main()
//b變數已經銷毀,無法使用
fmt.
println
(b)//報錯undefined: b
}
go中變數的作用域(作用範圍有三種)
全域性變數
函式級變數
塊級變數
作用範圍依次減小。
go常量與變數
常量使用關鍵字const,常量的資料型別只能是數字型 整數,浮點和複數 字串型和布林型。格式 const name type value 比如 const a 1 複製 在go語言中,可以省略型別,因為編譯器可以根據常量的值來推斷型別。常量在賦值時,可以使用運算子,比如 const b 1 2 複製...
Go 型別與變數
go 語言中的型別與其他語言類似,比較特殊的有以下幾個 bool 型別 它的值只能是 true 與 false。int uint 它們的長度會根據作業系統的不同 32 64 bit 的不同而有所區別。儲存指標的的32 64整形 uintptr 引用型別 slice,map,chan 值型別的預設值為...
go 變數大寫 go語言 變數與常量
變數 一 變數注意事項 變數名首字母大寫,可以被其他包訪問呼叫 公有 變數名首字母小寫,其他包不能訪問和呼叫 私有 在同乙個域裡乙個變數只能定義一次,不可重複定義 二 變數的宣告的種方式 1 先宣告後賦值 關鍵字 變數名 變數型別 var a int 變數名 值 a 10 賦值需要在函式體裡 2 宣...