一、整数型
go语言的整数类型,具体细分有以下几种:
uint8 无符号 8 位整型 (0 到 255)
uint16 无符号 16 位整型 (0 到 65535)
uint32 无符号 32 位整型 (0 到 4294967295)
uint64 无符号 64 位整型 (0 到 18446744073709551615)
int8 有符号 8 位整型 (-128 到 127)
int16 有符号 16 位整型 (-32768 到 32767)
int32 有符号 32 位整型 (-2147483648 到 2147483647)
int64 有符号 64 位整型 (-9223372036854775808 到 9223372036854775807)
特点:
默认的数字定义类型是
int类型带个
u就是无符号,只能存正整数后面的数字就是2进制的位数
uint8还有一个别名 字节(byte), 一个字节=8个bit位
var a byte = 'a'
fmt.Println(a) // 97
fmt.Println(fmt.Sprintf("%c", a)) // a
int类型的大小取决于所使用的平台
例如uint8,那就是8个二进制位,都用来存储数据,那最小就是0,最大就是2的八次方255
那int8,因为要拿一位存符合,使用实际只有七位可用,所以最小的就是-2的七次方-128,最大的就是2的七次方127
二、浮点型
Go语言支持两种浮点型数:float32和 float64
float32的浮点数的最大范围约为3.4e38float64的浮点数的最大范围约为1.8e308
如果没有显式声明,则默认是float64
三、字符型
注意哦,是字符,不是字符串
比较重要的两个类型是byte(单字节字符)和rune(多字节字符)
package main
import "fmt"
func main() {
var c1 = 'a'
var c2 = 97
fmt.Println(c1) // 直接打印都是数字,97
fmt.Println(c2) // 97
fmt.Printf("%c %c\n", c1, c2) // 以字符的格式打印, a a
var r1 rune = '中'
fmt.Printf("%c\n", r1) // 中
}
四、字符串类型
和字符不一样的是,字符的赋值是单引号,字符串的赋值是双引号
var s string = "大冬"
fmt.Println(s)
五、布尔类型
布尔类型用于表示逻辑值,只有两个可能的值:true(真)和 false(假)。
以下是一个使用布尔类型的示例:
package main
import "fmt"
func main() {
b1 := true
b2 := false
// 输出:b1 = true
fmt.Printf("b1 = %t\n", b1)
// 输出:b2 = false
fmt.Printf("b2 = %t\n", b2)
}
在这个示例中,我们定义了两个布尔变量 b1 和 b2,并使用 %t 格式说明符将它们以布尔形式输出。
注意:
德摩根定律(De Morgan's Laws)是逻辑学中的两条基本定律,它告诉我们 如何把“非”放到括号里面去:
记忆技巧:
当否定一个"与"表达式时,变成"或"运算,并对每个变量取反
当否定一个"或"表达式时,变成"与"运算,并对每个变量取反
六、零值
每个变量在声明后都有一个默认的零值。对于数值类型,零值通常是 0;对于布尔类型,零值是 false;对于字符串类型,零值是空字符串;对于接口、函数、切片、映射和通道等复合类型,零值是特定的空值。例如:
var i int = 0
var f float64 = 0.0
var b bool = false
var s string = ""
var m map[string]int
var ch chan int
在这些示例中,i、f、b、s、m 和 ch 分别被声明为不同类型的变量,并被赋予了相应类型的零值。了解和正确处理零值在 Go 编程中是很重要的,因为它们可以影响程序的逻辑和行为。
七、转义字符
转义字符是一种特殊的字符序列,用于表示特定的字符或控制字符。在 Go 语言中,常见的转义字符包括:
\n:换行符\t:制表符\:反斜杠\":双引号':单引号
以下是一个使用转义字符的示例:
package main
import "fmt"
func main() {
// 输出:Hello, Golang!
fmt.Println("Hello, Golang!")
// 输出:Hello, \
// Golang!
fmt.Println("Hello, \\ Golang!")
// 输出:Hello, "Golang!
fmt.Println("Hello, \"Golang!")
}
在上述示例中,我们使用了反斜杠 \ 来转义特殊字符,例如双引号和反斜杠本身。这样可以确保这些字符被正确解析和显示。
八、多行字符串
多行字符串可以使用 ```` 来表示。这允许在一行中输入多行文本。
以下是一个使用多行字符串的示例:
package main
import "fmt"
func main() {
// 输出:This is a
// multi-line string.
fmt.Println(`This is a
multi-line string.`)
}
在这个示例中,多行字符串 This is a multi-line string. 被正确地输出。多行字符串可以方便地表示包含换行符的文本内容。