首页 > 其他分享 >Go语言中字符串处理

Go语言中字符串处理

时间:2023-08-10 17:11:47浏览次数:43  
标签:语言 fmt strconv 字符串 str Go strings

Go 语言为字符串处理提供了丰富的功能。以下是处理字符串的一些常见方法和函数:

  1. 基本操作:

    • 获取字符串长度:len(str)
    • 字符串连接:str1 + str2
    • 访问特定字符(字节):str[index]
  2. 字符串包 (strings 包):

    • 检查字符串是否包含子串:strings.Contains(str, substr)
    • 字符串比较:strings.Compare(str1, str2)
    • 字符串计数:strings.Count(str, substr)
    • 字符串前缀和后缀检查:strings.HasPrefix(str, prefix)strings.HasSuffix(str, suffix)
    • 字符串索引:strings.Index(str, substr)strings.LastIndex(str, substr)
    • 字符串替换:strings.Replace(str, old, new, n)
    • 字符串分割:strings.Split(str, sep)
    • 字符串转换为大写或小写:strings.ToUpper(str)strings.ToLower(str)
    • 字符串修剪:strings.Trim(str, cutset)strings.TrimSpace(str)
  3. 字节切片与字符串间的转换:

    • 转换字节切片为字符串:string(byteSlice)
    • 转换字符串为字节切片:[]byte(str)
  4. 字符串格式化 (fmt 包):

    • 格式化字符串:fmt.Sprintf(formatString, args...)
    • 打印格式化的字符串:fmt.Printf(formatString, args...)
    • 从字符串读取格式化的输入:fmt.Sscanf(str, formatString, &vars...)
  5. 正则表达式 (regexp 包):

    • 匹配字符串:regexp.MatchString(pattern, str)
    • 查找匹配的子串:regexp.FindString(pattern, str)
    • 替换匹配的子串:regexp.ReplaceAllString(pattern, replacement)
  6. 多行字符串:

    • 使用反引号(`)创建多行字符串。
  7. 字符串转换 (strconv 包):

    • 将字符串转换为基本数据类型:strconv.Atoi(str)strconv.ParseBool(str)strconv.ParseFloat(str, bitSize)
    • 将基本数据类型转换为字符串:strconv.Itoa(i)strconv.FormatBool(b)strconv.FormatFloat(f, fmt, prec, bitSize)

以下是一些上述方法的示例:

package main

import (
	"fmt"
	"strings"
)

func main() {
	str := "Hello, World!"

	// 使用 strings 包的方法
	fmt.Println(strings.Contains(str, "World")) // true
	fmt.Println(strings.Replace(str, "World", "Go", 1)) // Hello, Go!
	fmt.Println(strings.Split(str, ",")) // [Hello  World!]

	// 字符串长度
	fmt.Println(len(str)) // 13

	// 字符串连接
	newStr := str + " How are you?"
	fmt.Println(newStr) // Hello, World! How are you?
}

这只是 Go 语言中字符串处理的一部分功能。更多详细的功能可以在官方文档中找到。

标签:语言,fmt,strconv,字符串,str,Go,strings
From: https://www.cnblogs.com/tangjicheng/p/17620902.html

相关文章

  • Docker安装gogs
    拉取镜像dockerpullgogs/gogs创建目录mkdir-p/usr/local/gogs创建容器dockerrun--name=gogs-d-p10022:22-p10880:3000-v/usr/local/gogs:/datagogs/gogs在mysql创建数据库gogs(只创建数据库即可,后面会配置连接参数并自动生成很多表)访问gogs安装软件:http://192.168.101......
  • 拓端tecdat|R语言实现k-means聚类优化的分层抽样(Stratified Sampling)分析各市镇的人
    原文链接:http://tecdat.cn/?p=23038原文出处:拓端数据部落公众号最近我们被客户要求撰写关于k-means聚类的研究报告,包括一些图形和统计输出。简介假设我们需要设计一个抽样调查,有一个完整的框架,包含目标人群的信息(识别信息和辅助信息)。如果我们的样本设计是分层的,我们需要选择......
  • IDEA提示cannot find declaration to go to解决方案
    参考:https://www.cnblogs.com/lizm166/p/16468953.html原因:未设置源跟解决方法:设置源跟......
  • 链接Mongodb报错Unable to authenticate using sasl protocol mechanism SCRAM-SHA-1
    解决方案在连接数据库字符串后面添加authSource=admin  "MongoDB":{"Host":"mongodb://touchadmin:[email protected]:27017/TouchAdmin?authSource=admin","DbName":"TouchAdmin"} useTouchAdmindb.cre......
  • - Django操作cookie - Django操作session - CBV添加装饰器 - 中间件 - csrf跨站请求
    Django操作cookie设置cookie:对象点set_cookie()获取cookie:request点COOKIE点getset_cookie('key','value',max_age=5,expires=5)参数:KEY:k值value:V值max_age=None,超时时间cookie需要延续的时间(以秒为单位)如果参数是\None``,这个cookie会延续到浏览器关闭为止expires=No......
  • C# 字符串
     字符串判断为空   if(a=="")最慢   if(a==string.Empty)其次   if(a.Length===)最快字符串拼接   +=最慢远远慢于其他三种   string.Format()慢   string.concat()其次   StringBuilder.Append()最快   ......
  • Go面经 | 成都Go面试这么卷?卷王介绍:游戏行业 3年经验 20k+
    Go最新面经分享:算法、并发模型、缓存落盘、etcd、actor模型、epoll等等...本文先分享2段面经,文末总结了关键问题的复盘笔记。一定要看到最后!求职者情况分享一下好友的最新面经。简单说下这位好友的情况:坐标成都,游戏行业,3年开发经验,最近2年做Go语言开发,1年Java/PHP工作经验。......
  • Django操作cookie,Django操作session,Django中的Session配置,CBV添加装饰器,中间件,cs
    Django操作cookiecookie参数:●key,键●value=’’,值●max_age=None,超时时间cookie需要延续的时间(以秒为单位)如果参数是\None``,这个cookie会延续到浏览器关闭为止expires=None,超时时间(IErequiresexpires,sosetitifhasn’tbeenalready.)path=’/‘,Co......
  • 《剑指Offer》-46-把数字翻译成字符串
    读题数字0~25分别对应了a~z一共26个字母现在给一个数字,比如12258,问可能对应多少种不同的翻译?比如:1,2,2,5,812,2,5,812,25,81,22,5,81,2,25,8一共5种思路使用动态规划的三要素:数组元素定义数组初始化状态转移方程1225有几种可能的翻译?1,2,2,51,22,51,2,2512,2,512,25也......
  • 愣着干嘛?视频串讲K8S+Go+ELK技术栈!来白嫖啊
    欢迎白嫖~视频地址:https://www.bilibili.com/video/BV1ZS4y1B7dM/视频地址:https://www.bilibili.com/video/BV1ZS4y1B7dM/视频地址:https://www.bilibili.com/video/BV1ZS4y1B7dM/......