当前位置: 首页 > news >正文

三、GoLang字符串的基本操作

一、转义符是什么?

转义字符意义
\n换行,将当前位置移动到下一行开头
\r回车,将当前位置移到本行开头
\t相当于一个Tab键
\\代表一个反斜线“\”
\"代表一个双引号字符

代码实战

package mainimport "fmt"/*
*字符串基本用法
*/
func main() {//转义符// 我在学习"go"语言的字符串基本用法\,字符串的'基本用法'// 假如现在在程序里输出这么一段话 我们需要对 引号来进行转义 因为他和我们定义字符串冲突了// 转义可以使用 \ 或者使用 ``var learn stringlearn = "我在学习\"go\"语言的字符串基本用法\\,字符串的'基本用法'"learn1 := `我在学习"go"语言的字符串基本用法`fmt.Println(learn)fmt.Println(learn1)// 1.\n:换行,将当前位置移到下一行开头var string1 stringstring1 = "我在学习go语言,\n学习到换行符了"fmt.Println(string1)// 2.\r:回车,将当前位置移到本行开头var string2 stringstring2 = "我在学习go语言,\r学习到回车符了"fmt.Println(string2)// 3.\t:相当于一个 Tab键var string3 stringstring3 = "\t我在学习go语言,到tab键了"fmt.Println(string3)//计算字符串的长度var desc stringdesc = "我在学习字符串的基本用法"descs := []rune(desc)fmt.Println(len(descs))
}

二、字符串格式化输出

2.1 缺省格式和类型

格式化后的效果动词描述
[0 1]%v缺省格式
[]int64(0,1)%#vgo语法打印
[]int64%T类型打印

2.2 整型(缩进,进制类型,正负符号)

格式化后的效果动词描述
15%d十进制
+15%+d必须显示正负符号
_15%4dPad空格(宽度为4,右对齐)
15_%-4dPad空格(宽度为4,左对齐)
1111%b二进制
17%o八进制
f%x16进制,小写

2.3 字符(有引号,Unicode)

value:65 (Unicode 是 A )

格式化后的效果动词描述
A%c字符
‘A’%q有引号的字符
U+0041%UUnicode
U+0041 ‘A’%#UUnicode有引号

2.4 浮点(缩进、精度、科学计数)

value:123.456

格式化后的效果动词描述
1.234560e+02%e科学计数
123.456000%f十进制小数

2.5 字符串

value:“cookie”

格式化后的效果动词描述
cookie%s字符串原样输出
_cookie%6s宽度为6,邮对齐

部分演示代码:

package mainimport "fmt"func main() {//=============================================== 二、格式化输出相关的参数===========================username := "张三"age := 20address := "北京"var ages []int = []int{1, 2, 3}outContent := fmt.Sprintf("用户名%s,年龄:%d,地址:%s 数组的值:%v", username, age, address, ages)fmt.Println(outContent)}

三、字符串拼接

package mainimport ("fmt""strconv""strings"
)func main() {//字符串的拼接name := "张三"age := 18sex := "男"address := "北京市海淀区上地大厦"//第一种拼接方式:字符串性能最差的outContent := fmt.Sprintf("姓名是:%s,性别是:%s,年龄是:%d,工作地址在:%s", name, sex, age, address)//第二种拼接方式:性能良好的outContent1 := "姓名是:" + name + ",性别是:" + sex + ",年龄是:" + strconv.Itoa(age) + ",工作地址在:" + address//第三种拼接方式:性能最好var builder strings.Builderbuilder.WriteString("姓名是:")builder.WriteString(name)builder.WriteString(",性别是:")builder.WriteString(sex)builder.WriteString(",年龄是:")builder.WriteString(strconv.Itoa(age))builder.WriteString(",工作地址是:")builder.WriteString(address)//生成字符串内容outContent2 := builder.String()//统计 builder的长度fmt.Println("字符串的长度", builder.Len())//重置 builder的内容?builder.Reset()outContent3 := builder.String()//打印内容fmt.Println(outContent)fmt.Println(outContent1)fmt.Println(outContent2)fmt.Println("这是什么内容:" + outContent3)}

四、字符串的比较

package mainimport ("fmt""strings"
)
func main() {//=============================================== 二、字符串的比较===========================a := "hello"b := "hello"c := "bello"fmt.Println(a == b)fmt.Println(a != b)//大小比较 比较 ASCII码fmt.Println(a > c)
}

五、字符串操作常用方法

字符串常用方法可以点进到源码进行查看

package mainimport ("fmt""strings"
)func main() {//=============================================== 三、字符串的常用方法===========================content := "我在学习go语言,正在学习的是字符串的常用方法"//查询字符串是否包含某个值fmt.Println(strings.Contains(content, "go"))//计算字符串的长度var desc stringdesc = "我在我"descs := []rune(desc)fmt.Println(len(descs))//出现的次数fmt.Println(strings.Count(content, "go"))//分割字符串var contents = strings.Split(content, ",")fmt.Println(contents[0])fmt.Println(contents[1])
}
http://www.lryc.cn/news/163507.html

相关文章:

  • 基于vue-cli创建后台管理系统前端页面——element-ui,axios,跨域配置,布局初步,导航栏
  • 在 ubuntu20.04 上安装 Pytorch
  • 远程恋爱网站部署秘籍——群晖虚拟机助ni秀恩爱
  • vscode c++解决包含头文件红色波浪线问题
  • PostgreSQL docker compose安装配置
  • 电脑文件批量重命名:高效操作技巧
  • c高级day4(shell)
  • 整十粉丝庆祝文章系列内容征集建议
  • 两数乘积:输出1~100整数乱序列表中两数乘积是目标整数的最小下标对
  • 【JavaSE】面试01
  • Elasticsearch(二)kibana数据检索
  • JavaScript编程语法作业
  • 服务器中了Malloxx勒索病毒应该怎么办?勒索病毒解密,数据恢复
  • 如何实现Spring的事务管理功能:@Transactional声明式事务
  • LeetCode(力扣)122. 买卖股票的最佳时机 II
  • 串行通信协议
  • Elasticsearch中RestClient使用
  • 【LeetCode-中等题】208. 实现 Trie (前缀树)
  • python队列与多线程——生产者消费者模型
  • idea的安装
  • Unity下如何实现RTMP或RTSP播放端录像?
  • 【Python】Python基础语法
  • I2C总线驱动:裸机版、应用层的使用、二级外设驱动三种方法
  • Unix Network Programming Episode 77
  • 解决Ubuntu无法安装pycairo和PyGObject
  • Android Handler 机制解析
  • 酒店固定资产管理怎么分类
  • OpenCV(三十一):形态学操作
  • Python之面向对象(二)
  • ESP32用作经典蓝牙串口透传模块与手机进行串口通信