字符

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. 申请方法(使用方法)

  1. 申明并赋值
var str string
str = "Hello World"
  1. 通过反引号,原样输出
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)
}



  1. 获取字符串长度
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
}

参照字符类型

  1. byte(uint8) byte 类型是 uint8 的别名
  2. rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型,rune 类型是 int32 类型的别名

注意事项

  1. 双引号括起来
  2. `` 反引号原样输出
  3. 字符串初始化之后不允许重新赋值
  4. 可以以字符数组下标的形式来读取,但不能赋值
  5. len获取字符串长度
  6. 字符串相加即是拼接

数据类型转换: Type Convert

语法格式:Type(Value)
常数:在有需要的时候,会自动转型
变量:需要手动转型 T(V)
注意点:兼容类型可以转换

复合类型(派生类型)

  • 指针类型(Pointer)
  • 数组类型
  • 结构化类型(struct)
  • Channel 类型
  • 函数类型
  • 切片类型
  • 接口类型(interface)
  • Map 类型

最后

EntrepreneurialG