在計算機科學中,字面量(literal)是指源代碼中表示固定值的符號。幾乎所有的編程語言都具有對基本值的字面量表示,例如整數、浮點數以及字符串。例如:
var str = "test" // test就是字面量age := 18 // 18就是字面量
Golang中的字面量(literal)
Golang中字面量可以用在兩個地方:
如果變量初始化語句中沒有顯式指定類型,則編譯器會根據字面量進行類型推斷。Golang中字面量只能表達基本類型的值,不支持用戶自定義字面量。
Golang中字面量類型整型字面量
可以使用十進制格式也可以使用16進制格式,例如:
6660x5a
浮點型字面量
可以使用標準的數學小數格式也可以使用科學計數法格式,例如:
3.143E2
復數類型字面量
常見的表達形式如 a + bi,其中a、b都是實數,i為虛數單位,例如:
1 + 1i
字符型字面量
字符使用單引號包裹,例如:
'a'
字符串字面量
字符串使用雙引號或反引號包裹,例如:
"Hello, World!"`Hello, World!`
復合字面量(Composite Literal)
復合字面量是指struct、array、slice和map這些類型的變量初始化的同時并賦值。以map類型為例說明,以常規方式聲明map類型變量并賦值:
student := make(map[string]interface{}, 2)student["name"] = "xiao ming"student["age"] = 10
使用復合字面量方式:
student := map[string]interface{}{"name": "xiao ming","age": "10",}