前言

byte就是字节的意思,一个字节就是8个二进制位。uint8,无符号整形,占8位,正好也是2的8次方。所以byte和 uint8 类型本质上没有区别,它表示的是 ACSII 表中的一个字符。

go语言的字符和字节

测试byte和unit8的区别,本身是没有区别的

package mainimport "fmt"func main() {var x uint8x = 255fmt.Println(x)var y bytey = 255fmt.Println(y)var a bytea = 'A'   //必须是单引号fmt.Println(a)fmt.Printf("%c : %d", a, a)
}
package mainimport "fmt"func main() {var x uint8x = 255fmt.Println(x)var y bytey = 255fmt.Println(y)var a runea = '国'//rune,占用四个字符,工32位比特位,所以他和int32本质上也没有区别,他表示的是一个unicode字符fmt.Println(a)fmt.Printf("%c : %d", a, a)
}

字符串和字节串(熟练掌握)

字节数组,就是一个数组,里面的每一个元素是字符,字符又跟字节划等号,所以字符串和字节串可以相互转换。

字符串与字节串之间的转换

这也是个编码和解码的过程

package mainimport ("fmt""reflect"
)func main() {var s = "中国"fmt.Println(s, reflect.TypeOf(s))// 下面是编码y := []byte(s)
//[228 184 173 229 155 189]
//中国两个字符,需要六个字节来存储, 中是 228,184,173fmt.Println(y, reflect.TypeOf(y))  // [] uint8
}
// 下面是解码
fmt.Println(string(b)   //中国

执行结果:

字符串的遍历

(2种方式)for 和range

package mainimport "fmt"func main() {var name = "itlaoxin is  me "for i := 0; i < len(name); i++ {fmt.Println(name[i]) //这样取出来的是数字//解码fmt.Println(string(name[i]))fmt.Printf("%c"name[i])}
}

如果name = " i am 老辛" 这种会出现什么问题呢?

答: 这个时候,如果我们用for循环遍历,以为一个中文是三个字符,所以会出现乱码,这时候就需要使用range

方法二:

package mainimport "fmt"func main() {name := "i am 老辛"for _, v := range name {fmt.Println(string(v))}
}

go语言中的字符串字符不可以修改

package mainimport "fmt"func main() {name := "i am 老辛"fmt.Println(name[0])name[0] = "m"  // 可以看到不允许修改}
}

go语言基础语法- 字符和字节-字符串相关推荐

  1. Go语言 基础语法学习 (未完待更......

    文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...

  2. C语言基础语法【1】

    目录 1.在linux系统编写C语言,基本命令:变量.常量.标识符 2.数据类型.取值范围.字符串 3.短路原则.类型转换 4.switch语句.for.while循环.死循环 1.在linux系统编 ...

  3. GO 语言基础语法一 (快速入门 Go 语言)

    Go语言基础语法 一. golang 标识符,关键字,命名规则 二. golang 变量 三. golang 常量 四. golang 数据类型 五. golang 布尔类型 六. golang 数字 ...

  4. 【Day4 C语言基础语法学习-3】

    Day4 C语言基础语法学习-3 一 数组 1.1 数组的概念 1.2 一维数组 1.2.1 一维数组的定义 1.2.2 一维数组的性质 1.3 一维数组的初始化和遍历 1.4 冒泡排序法 二.二维数 ...

  5. 【Day3 C语言基础语法学习-2】

    Day3 C语言基础语法学习-2 一.输入输出函数 1.1 getchar()/putcgar() 1.1.1getchar() 1.1.2 putchar 1.2 gets()/puts() 1.2 ...

  6. Go语言基础语法讲解与学习

    Go语言基础语法讲解与学习 1 Go语言基础知识介绍 ​ 介绍Go语言之前,我们先了解一下有哪些开源项目是Go语言开发的,其中就包括 Docker.Go-Ethereum.Thrraform 和 Ku ...

  7. 【Go编程语言】 Go语言基础语法

    Go语言基础语法 文章目录 Go语言基础语法 一.注释 1.单行注释 2.多行注释 二.变量 1.变量的定义 2.变量的初始化 3.理解变量(内存地址) 4.变量交换 5.匿名变量 6.变量的作用域 ...

  8. Swift3.0语言教程查找字符集和子字符串

    Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...

  9. Go语言基础语法--注释、基础结构2

    章节 GO语言基础语法--注释.基础结构(重要) 1.GO语言基础语法---注释.基础结构 //程序所属的包,且必须在源文件代码第一行 package mainimport "fmt&quo ...

最新文章

  1. 从PRISM开始学WPF(四)Prism-Module?
  2. 解决无法连接到远程SqlServer 2005 Express服务器的问题
  3. [转]ORACLE日期时间函数大全
  4. 在64位Windows7上安装64位Oracle11g
  5. 基于爬山算法求解TSP问题(JAVA实现)
  6. 深度学习训练的小技巧,调参经验。总结与记录。
  7. JS自定义字符串格式化函数
  8. python词汇网络分析_8个Python高效数据分析的技巧!
  9. ctypealpha php_PHP Ctype函数(转)
  10. Request header field x-token is not allowed by Access-Control-Allow-Headers in preflight response.
  11. 鹿鼎记 · 韦小宝,丽春院、天地会、入皇宫等五个场景的恶搞版多线程锁学习!
  12. 那人立在侧边 水浒传
  13. Re:PyQt5 从零开始的MVC开发模式规划
  14. 孤独的灵魂 - 复旦投毒案
  15. VB.NET读取Excel数据在CAD上展图
  16. 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm汽车配件管理系统
  17. 辰视冯良炳博士将于ITES机器视觉与机器人创新应用大讲台开讲
  18. 使用爱码哥之后的心得
  19. 计算并返回x的平方根
  20. 贪心算法——聪明的LJY

热门文章

  1. 目标检测 慎用旋转数据增强
  2. 庖丁解牛 | 图解 RocketMQ 核心原理
  3. 【转】详解硬盘MBR
  4. jQuery-表单流程导航
  5. is not assignable to
  6. 6《小学数学教材解读策略研究》教师问卷
  7. Visual studio 2010 ComboBox控件与有道桌面词典冲突问题
  8. 微云存照片会变模糊吗_把照片存QQ相册会越来越模糊,你们会把照片存在哪里?...
  9. solidworks出现操作系统当前的配置不能运行此应用程序
  10. java int 64 转换_Java中数据类型及其之间的转换