Golang基本数据类型,常量,数组,切片,字符串.pdfVIP

  • 2
  • 0
  • 约2.07万字
  • 约 21页
  • 2023-07-08 发布于安徽
  • 举报

Golang基本数据类型,常量,数组,切片,字符串.pdf

Golang基本数据类型,常量,数组,切⽚,字符串 整数 int8、int16、int32、int64 uint8、uint16、uint32、uint64 int、uint (不同的编译器即使在相同的硬件平台上可能产⽣不同的⼤⼩) uintptr ⽆符号的整数类型。指针⼤⼩ 优先级递减 * / % ^ + - | ^ == != = = || bit位操作运算符 Printf函数的 %b 参数打印⼆进制格式的数字 位运算 AND | 位运算 OR ^ 位运算 XOR ^ 位清空 (AND NOT) 先⾮再与 左移 右移 Printf打印 %之后的[1]副词告诉Printf函数再次使⽤第⼀个操作数。 %后的#副词告诉Printf在⽤%o、%x或%X输出时⽣成0、0x或0X前缀。 package main import fmt func main() { o := 0666 fmt.Printf(%d %[1]o %#[1]o \n, o) x := int64(0xdeadbeef) fmt.Printf(%d %[1]x %#[1]x %#[1]X \n, x) } 浮点数 float32和float64 Printf打印 Printf函数的%g参数打印浮点数,将采⽤更紧凑的表⽰形式打印,并提供⾜够的精度,但是对应表格的数据,使⽤%e(带指数)或%f的形 式打印可能更合适 复数 complex64和complex128 var x complex128 = complex(1, 2) // 1+2i var y complex128 = complex(3, 4) // 3+4i fmt.Println(x*y) // (-5+10i) fmt.Println(real(x*y)) // -5 fmt.Println(imag(x*y)) // 10 x := 1 + 2i y := 3 + 4i 布尔 bool %t func main() { var a bool = false ; fmt.Println(a) fmt.Printf(%d, a) } 布尔值并不会隐式转换为数字值0或1 字符串 底层为[]byte \uFFFD ⽆效字符 fmt.Println(string(1234567)) // � package main import fmt func main() { s := hello, world 长度 // len fmt.Println(len(s)) // 12 fmt.Println(s[0], s[7]) // 104 119 fmt.Printf(%c, %c\n, s[0], s[7]) 越界导致 异常 // panic // c := s[len(s)] // wpanic: runtime error: index out of range // fmt.Println(c) ⽣成⼀段新的字符⼦字符串操作 // s[i:j] fmt.Println(s[:5]) // hello fmt.Println(s[7:]) // world fmt.Println(s[:]) // hello, world ⽆法单个修改 // // s[0] = c // cannot assign to s[0] 循环在处理字符串的时候,会⾃动隐式解码 字符串 // range UTF8 for i, r := range Hello, 世界 { fmt.Printf(%d\t%q\t%d\n, i, r , r) } } byte rune byte 的操作单位是⼀个字节,可以理解为⼀个英⽂字符 rune 的操作单位是⼀个字符,不管这个字符是什么字符 type rune = uint32

文档评论(0)

1亿VIP精品文档

相关文档