数据类型之字符串
前言:
String 字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的,本质是只读的字符型数组。
Go语言的字符串UTF-8编码标识Unicode文本,当字符为 ASCII 码表上的字符时则占用 1 个字节,其它字符根据需要占用 2-4 个字节 (中文占3个字节)
正文:
字符串只能使用 双引号 包裹。
字符串默认是空字符串
字符串一旦赋值后,就不能修改。可以重新赋值,但是不能对字符串里面的单个字符进行修改
单引号,双引号,反引号区别:
单引号:
单引号里面只能包含一个字符,
默认是rune类型(等同于int32),输出值会自动修改为ASCII的数字值
当单引号定义多余1个字符,编辑器则会报错,无法编译
单引号示例:
var s = 'a'
fmt.Println(s) //输出97 ,为a的ascii值
fmt.Printf("%T",s) //输出int32
双引号
双引号里面可以包含单个字符,也可以多个字符
双引号示例:
var s = "hello"
fmt.Println(s) //输出 hello
fmt.Printf("%T",s) //输出string
求字符串的长度:
var s = "hello杨"
fmt.Println(strings.Count(s,"")-1) //输出 6,表示长度为6
fmt.Println(len(s)) //输出 8 ,表示字节数为 8
字符串拼接
var s1 = "hello"
var s2 = "yangphp"
var s3 = s1+s2 //字符串拼接
fmt.Println(s3) //输出helloyangphp
反引号,多行字符串
反引号的字符串是表示原生的意思,里面的内容不会转义,会原样输出
示例1:被``包裹的字符被原样输出,包含换行都会输出
var s1 = "yangphp"
var str = `s1`+ s1 +`
bbbbbbbbbb
cccccccccc
dddddddddd
eeeeeeeeee`
fmt.Println(str)
输出结果如下:
可以看到 ``内的字符都原样输出了
示例2:通过+号,生成多行字符串
var s1 = "yangphp"
var str = "s1" + s1 + //注意+号必须在行末尾,不能在行首
"bbbbbbbbbb" +
"cccccccccc" +
"dddddddddd" +
"eeeeeeeeee"
fmt.Println(str)
输出结果如下:
可以看到,多行字符串变成了一行。
完结
但行好事,莫问前程!
本文来自博客园,作者:yangphp,转载请注明原文链接:https://www.cnblogs.com/ypeih/p/17266698.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)