您的位置 首页 golang

golang基础数据类型(字符,字符串型和复合型「派生类型」)

字符

1. 介绍

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
  

字符串遍历

  1. 通过 for index := 0; index < strLen; index++ {} 形式来遍历
 for index := 0; index < strLen; index++ {
    fmt.Printf(strLen[index])
}
  
  1. 通过 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 类型

最后

刚学golang,希望大家监督并且一起努力

有兴趣的小伙伴,欢迎关注我订阅号:EntrepreneurialG

文章来源:智云一二三科技

文章标题:golang基础数据类型(字符,字符串型和复合型「派生类型」)

文章地址:https://www.zhihuclub.com/86511.shtml

关于作者: 智云科技

热门文章

网站地图