變數基本型別
--bool
--string
--int,int8,int16,int32,int64
--uint,uint8,uint16,uint32,uint64,uintptr
--byte // uint8的別名
--rune // int32的別名,代表乙個unicode碼
--float32、float64
--complex64、complex128
變數的特性
--當乙個變數被宣告後,系統自動賦型別零值,int為0,float為0.0,
bool為false,string為空字串,指標為nil等。
--變數的命令規則為駝峰式
標準格式
var 變數名 型別
-------------------
var a int
批量格式
var(
a int
b string
c float32
d func() bool
e struct
)
簡短格式
名字 := 表示式
##i := 0
i,j := 0,1
##簡短模式的限制:
--定義變數,同時顯示初始化
--只能用在函式內部
1、標準格式
var 變數名 型別 = 表示式
##var a int =1
2、推導型別的格式
var 變數名 = 表示式
示例:var a =40
var d =20
var da float32 =0.17 // 如果不宣告float32,編譯器會將型別推導為float64。
var da = float32(a-d) * d // 型別強制轉換
3、短變數宣告並初始化
a := 10
:= 左邊變數必須是沒有定義過的變數
a ,b := net.dial("tcp" ,"127.0.0.1:8080") // 該函式有兩個返回值
1、空白識別符號
「_」,乙個特殊的識別符號,被稱為空白識別符號。
_ 可以用於變數的宣告或賦值(任何型別都可以賦值給他),但是任何賦
給這個識別符號的值都將被拋棄
2、示例
func
getdata()
(int
,int
)func
main()
1.傳統方法
var a int
=100
var b int
=200
var t int
t=aa=b
b=t
2、利用演算法避免中間變數
var a int
=100
var b int
=200
a=a^b
b=b^a
a=a^b
3、go多重賦值
var a int
=100
var b int
=200
b,a =a,b
注:參考自 變數定義 宣告 初始化
變數定義就是告訴編譯器在何處建立變數的儲存,以及如何建立變數的儲存。變數定義指定乙個資料型別,幷包含了該型別的乙個或多個變數的列表,如下所示 type variable list 在這裡,type 必須是乙個有效的 c 資料型別,可以是 char w char int float double bo...
宣告 初始化和例項化的區別
我算是剛入門的菜鳥,今天說下宣告 初始化和例項化的區別和使用,如有不對的地方歡迎各位指正。宣告是指使用乙個物件的時候,先定義屬於哪個型別並,比如string str str是宣告 定義 了乙個string型別的物件。初始化可以理解為給宣告的物件賦值的過程。string str hello str現在...
定義 宣告 初始化 賦值的區別
變數宣告 extern int a 只宣告一下這個變數,會在別處定義的 1變數定義 int a 說明該變數在記憶體中的位置和大小,宣告加定義 1變數初始化 int a 7 定義時給變數乙個值 1變數賦值 a 2 把變數原有的值擦除,重新給乙個值 1c 中的左值 lvalues 和右值 rvalues...