go語言基礎

變量

  1. 變量:存儲數據,臨時性
  2. 數字,字母,下劃線,首個字母不能爲數字

變量聲明

1 未初始化的標準格式
var 變量名 變量類型
var s string

2 未初始化的批量格式
func main() {
	var(
		b int
		a string
		c float32
	)
	fmt.Println(a,b,c)
}
整形和浮點型變量默認值:0
字符串默認值爲空字符串
布爾值默認值爲false
函數,指針變量初始值爲null

3 初始化變量的標準格式
var 變量名 類型 = 表達式

4 編譯器具有自動推斷類型格式(非靜態語言運行時,才知道表達式是什麼數據類型)
vat 變量名 = 表達式

5初始化變量的簡短聲明格式(短變量聲明格式)
表達式 := 表達式
使用:=賦值操作符, :=可以高效的創建一個新的變量,稱之爲初始化聲明
省略了var關鍵字
變量類型由編譯器自動推斷
聲明變量的首選形式,只能作用在函數體內部,不可以用於全局變量的聲明與賦值
該變量名必須是沒有定義過的變量,至少有一個新聲明的變量出現在左側中,那麼即便有其他變量名可能是重複聲明的,編譯器也不會報錯

匿名變量

匿名變量(當定義了變量之後不使用會報錯,主要用於函數返回值上)
go語言的函數可以返回多個值,而事實上我們並不是對所有的返回值都用得上
那麼就可以使用匿名變量,用"_"替換掉之前的變量
匿名變量不佔用命名空間
不會分配內存
e, _ := "a", "b"

基本數據類型

布爾型
數字類型
字符創類型
派生類型

 1. 指針
 2. 數組
 3. 結構化
 4. Channel
 5. 函數
 6. 切片
 7. 接口
 8. Map
布爾型的值只可以是常量true或者false
===================================
整形
uint8 2的8次方
uint16 2的16次方
uint32 2的32次方
uint64 2的64次方

int8 -128到127
int16 -32768到32767
int32 -2147483648到2147483647
int64 -9223372036854775808到9223372036854775807
==================================
浮點型
float32 32位浮點型數
float64 64位浮點型數
complex64 32位實數和虛數
complex128 64位實數和虛數
==================================
byte
	var a byte = 'a'
其實就是uint8的別名,代表了ASCLL碼的一個字符
rune
    var b rune = '一'
其實就是int32,代表一個utf-8字符,當需要處理中文等unicode字符集是需要用到rune型

常量

常量是一個簡單值的標識符,在程序運行時,不會被修改的量。
常量中的數據類型只可以是布爾型、數字型(整數型、浮點型和複數)和字符串型。

 1. 顯式類型定義: const b string = "abc"
 2. 隱式類型定義: const b = "abc"
 3. 多個可以簡寫爲:const c_name1, c_name2 = value1, value2

常量定義枚舉

	const (
		java = iota
		python
		php
		golang
	)
	fmt.Println(java,python,php,golang)

0 1 2 3

還可以參與運算
	const (
		java = 1 << (10 * iota)
		python
		php
		golang
	)
	fmt.Println(java,python,php,golang)
}
1 1024 1048576 1073741824
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章