go语言基础语法- 字符和字节-字符串
前言
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语言基础语法- 字符和字节-字符串相关推荐
- Go语言 基础语法学习 (未完待更......
文章目录 一 Go语言结构 1 Go Hello world实例 2 执行Go程序 二 Go语言基础语法 1 Go标记 2 行分隔符 3 注释 4 标识符 5 一些关键字 6 Go语言的空格 7 格式 ...
- C语言基础语法【1】
目录 1.在linux系统编写C语言,基本命令:变量.常量.标识符 2.数据类型.取值范围.字符串 3.短路原则.类型转换 4.switch语句.for.while循环.死循环 1.在linux系统编 ...
- GO 语言基础语法一 (快速入门 Go 语言)
Go语言基础语法 一. golang 标识符,关键字,命名规则 二. golang 变量 三. golang 常量 四. golang 数据类型 五. golang 布尔类型 六. golang 数字 ...
- 【Day4 C语言基础语法学习-3】
Day4 C语言基础语法学习-3 一 数组 1.1 数组的概念 1.2 一维数组 1.2.1 一维数组的定义 1.2.2 一维数组的性质 1.3 一维数组的初始化和遍历 1.4 冒泡排序法 二.二维数 ...
- 【Day3 C语言基础语法学习-2】
Day3 C语言基础语法学习-2 一.输入输出函数 1.1 getchar()/putcgar() 1.1.1getchar() 1.1.2 putchar 1.2 gets()/puts() 1.2 ...
- Go语言基础语法讲解与学习
Go语言基础语法讲解与学习 1 Go语言基础知识介绍 介绍Go语言之前,我们先了解一下有哪些开源项目是Go语言开发的,其中就包括 Docker.Go-Ethereum.Thrraform 和 Ku ...
- 【Go编程语言】 Go语言基础语法
Go语言基础语法 文章目录 Go语言基础语法 一.注释 1.单行注释 2.多行注释 二.变量 1.变量的定义 2.变量的初始化 3.理解变量(内存地址) 4.变量交换 5.匿名变量 6.变量的作用域 ...
- Swift3.0语言教程查找字符集和子字符串
Swift3.0语言教程查找字符集和子字符串 Swift3.0语言教程查找字符集和子字符串,在字符串中当字符内容很多时,我们就需要使用到查找字符集或者子字符串的方法.以下我们将讲解3种查找字符集和子字 ...
- Go语言基础语法--注释、基础结构2
章节 GO语言基础语法--注释.基础结构(重要) 1.GO语言基础语法---注释.基础结构 //程序所属的包,且必须在源文件代码第一行 package mainimport "fmt&quo ...
最新文章
- 从PRISM开始学WPF(四)Prism-Module?
- 解决无法连接到远程SqlServer 2005 Express服务器的问题
- [转]ORACLE日期时间函数大全
- 在64位Windows7上安装64位Oracle11g
- 基于爬山算法求解TSP问题(JAVA实现)
- 深度学习训练的小技巧,调参经验。总结与记录。
- JS自定义字符串格式化函数
- python词汇网络分析_8个Python高效数据分析的技巧!
- ctypealpha php_PHP Ctype函数(转)
- Request header field x-token is not allowed by Access-Control-Allow-Headers in preflight response.
- 鹿鼎记 · 韦小宝,丽春院、天地会、入皇宫等五个场景的恶搞版多线程锁学习!
- 那人立在侧边 水浒传
- Re:PyQt5 从零开始的MVC开发模式规划
- 孤独的灵魂 - 复旦投毒案
- VB.NET读取Excel数据在CAD上展图
- 基于jsp+mysql+Spring+SpringMVC+mybatis的ssm汽车配件管理系统
- 辰视冯良炳博士将于ITES机器视觉与机器人创新应用大讲台开讲
- 使用爱码哥之后的心得
- 计算并返回x的平方根
- 贪心算法——聪明的LJY