字符
1. 介绍
字符是电子计算机中字母、数字、符号的统称,是数据结构中最小的数据存取单位,通常由8个二进制位(一个字节)来表示一个字符
2. 表示类型
byte(uint8) byte 类型是 uint8 的别名
rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型,rune 类型是 int32 类型的别名
3. 申请方法(使用方法)
参考变量的申请方式
package main
import "fmt"
func main() {
var str1 byte = '0'
str2 := "小阿肥"
fmt.Printf("str1 = %d, str2=%d\n", str1, str2)
fmt.Printf("str2 = %c, str2=%T\n", str2, str2)
str3 := 'a' // 对应的编码值
fmt.Printf("加和=%d, a的编码值=%d\n", 1 + str3, str3)
}
这里有一个坑,为什么需要单引号才能编译,不然会报错?
4. 注意
- 单引号括起来\
- 存储:字符-》ascii码值-》二进制\
- 读取:二进制-》ascii码值-》字符\
- 一个字符占一个字节,一个中文占3个字节\
- 字符可以与整数进行算术运算(转成ascii码值再计算)
字符串型
1. 介绍
字符串是的类型标识为string, 由数字、字母、下划线组成的一串字符。 在编程语言中用于表示文本的数据类型。
2. 申请方法(使用方法)
- 申明并赋值
var str string
str = "Hello World"
- 通过反引号,原样输出
package main
import "fmt"
func main() {
var str = `
package main
import (
"fmt"
"unsafe"
)
func main() {
/**
* float32 4个字节
* float64 8个字节
*/
fmt.Println(real(num1), imag(num2))
}
`
fmt.Println(str)
}
- 获取字符串长度
var str = "hello, 小阿肥"
strLen := len(str) // 16
字符串遍历
for index := 0; index < strLen; index++ {}
for index := 0; index < strLen; index++ {
fmt.Printf(strLen[index])
}
for..range
// 通过range,在这种情况下中文就不会有问题,按照rune类型来打印
var str = "hello, 小阿肥"
for index, val := range str {
fmt.Printf("通过for index ... 索引:%d--字符值:%c--字符值类型;%T\n", index, val, val) //val 的类型为 rune,即int32
}
参照字符类型
- byte(uint8) byte 类型是 uint8 的别名
- rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型,rune 类型是 int32 类型的别名
注意事项
- 双引号括起来
- `` 反引号原样输出
- 字符串初始化之后不允许重新赋值
- 可以以字符数组下标的形式来读取,但不能赋值
- len获取字符串长度
- 字符串相加即是拼接
数据类型转换: Type Convert
语法格式:Type(Value)
常数:在有需要的时候,会自动转型
变量:需要手动转型 T(V)
注意点:兼容类型可以转换
复合类型(派生类型)
- 指针类型(Pointer)
- 数组类型
- 结构化类型(struct)
- Channel 类型
- 函数类型
- 切片类型
- 接口类型(interface)
- Map 类型
最后
EntrepreneurialG