字面量
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、记录和对象等复合类型的值也支持字面量表示法。
字面量类型
整型字面量
使用特定的字符序列表示具体的整型数值。如:
var num int
num =1
实型字面量
实型字面量型字面量使用特定字符序列来表示一个浮点数值。如:
var num float32
num =1.12
字符字面量
Go的采用UTF-8的编码方式,占用1~4个字节。如:
var num byte
num = 'a'
逻辑字面量
逻辑字面量只有两个值 true和false。如:
var num bool
num = true
字符串字面量
字符串字面量(stringliteral)是指双引号引住的一系列字符,双引号中可以没有字符,可以只有一个字符,也可以有很多个字符。如:
var num string
num = "a"
num = `a`
复数类型字面量
Go语言中有多种复合数据,如:数组、切片、map、结构体,等;我把这些类型的字面量写法抽象为了一个语法,即:类型{成员列表},和其他字面量本无本质区别。
数组
//语法:var name [size] type
//1
var num [3] string
num[0] = "0.01"
num[1] = "0.02"
//2
num2 := [3]string{"1","2","3"}
//3
num3 := [...]string{"1","2"}
切片
//语法:var name []type
//1
var s1 []int = make([]int, 2)
//2
s2 := make([]int, 2)
map
//语法:var name map[type]type
//1
var m1 map[string]string
//2
m2 := make(map[string]string)
结构体
//语法:struct {成员名 type} 多用于pb 与main方法平级
type St struct {
title string
}
func main(){
//定义st1为St类型
var st1 St
st1.title = "标题"
}