13. Go 语言的字符类型

AI 概述
1. 字符和字符串类型2. 代码演示3. 小结 字符类型在工作中也会非常频繁地用到,是一个非常重要的数据类型。本文主要介绍了 Go 语言中处理字符和字符串的数据类型。 1. 字符和字符串类型 类型 说明 byte uint8 类型的别名,同等于 uint8。一般用于表示 ASCII 字符,即只能操作简单的字符,不支持...
目录
文章目录隐藏
  1. 1. 字符和字符串类型
  2. 2. 代码演示
  3. 3. 小结

字符类型在工作中也会非常频繁地用到,是一个非常重要的数据类型。本文主要介绍了 Go 语言中处理字符和字符串的数据类型。

1. 字符和字符串类型

类型 说明
byte uint8 类型的别名,同等于 uint8。一般用于表示 ASCII 字符,即只能操作简单的字符,不支持中文操作
rune int32 类型的别名,同等于 int32。一般用于表示 Unicode 字符,即可以处理任何字符
string 一个指向 byte 数组的指针,可以为空字符串不可为nil

2. 代码演示

接下来使用一段代码来更清晰地解释byterune的区别,以及了解这三个类型的关系。

package main

import "fmt"

//将字符串转换为 rune 的数组,并替换数组第 i 个元素为 ch
func str2Rune(str *string, i int, ch rune) {
    temp := []rune(*str)
    temp[i] = ch
    *str = string(temp)
}

//将字符串转换为 byte 的数组,并替换数组第 i 个元素为 ch
func str2Byte(str *string, i int, ch byte) {
    temp := []byte(*str)
    temp[i] = ch
    *str = string(temp)
}

func main() {
    str := "你好 hello"
    str1 := "你好 hello"
    str2 := "你好 hello"
    str2Rune(&str, 0, 'A')  //将第 0 个字符替换为 A
    str2Byte(&str1, 0, 'A') //将第 0 个字符替换为 A
    str2Byte(&str2, 7, 'A') //将第 7 个字符替换为 A
    fmt.Println("rune 数组处理中文后:", str)
    fmt.Println("byte 数组处理中文后:", str1)
    fmt.Println("byte 数组处理英文后:", str2)
}

输出结果:

byte 和 rune 区别实例输出结果

结论:

  • string可以直接转换为rune或者byte数组;
  • runebyte可以互相转换;
  • byte 的操作单位是一个字节,可以理解为一个英文字符;
  • rune 的操作单位是一个字符,不管这个字符是什么字符。

3. 小结

本文主要学习了 Go 语言中的字符类型的使用,注意 byte 和 rune 使用上的区别。

以上关于13. Go 语言的字符类型的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » 13. Go 语言的字符类型

发表回复