首页 > 其他分享 >Golang合并、通过逗号拆分字符串

Golang合并、通过逗号拆分字符串

时间:2023-12-29 10:55:25浏览次数:27  
标签:逗号 arr 拆分 Golang substr str 字符串 strings string

Golang开发常用函数 将逗号分隔的字符串转换为数组,将数组slice 转为逗号分隔的string字符串,以及strings的其他函数。

一、Go开发中最常用函数

1.将数组slice转为逗号分隔的string字符串

strings.Join(a []string, sep string) string
或者
strings.Join(str_arr, ",")
示例代码:将[1,2,3,4]数组转成 1,2,3,4逗号拼接字符串

num_arr := []int{1, 2, 3, 4}
var str_arr = make([]string, len(num_arr))
for k, v := range num_arr {
str_arr[k] = fmt.Sprintf("%d", v)
}
var str = strings.Join(str_arr, ",")
fmt.Println(str)

2.将逗号分隔的字符串转换为数组

strings.Split(str, ",")

示例代码 :将1,2,3,4,5 逗号拼接字符串转成 [1,2,3,4,5 ]数组
str := "1,2,3,4,5" var str_arr = strings.Split(str, ",") fmt.Println(str_arr)

二、 strings其他函数

1.判断是否以某字符串打头/结尾

  1.1 判断打头

  str="Hello, World",prefix="He" 判断是否以He开头的字符串

strings.HasPrefix(str, prefix string) bool
 1.2 判断结尾

 str="Hello, World",suffix="ld" 判断是否以ld结尾的字符串

strings.HasSuffix(str, suffix string) bool

2.返回子串索引

   2.1 返回子串索引

 str="Hello, World",substr="e"  返回e在字符串“Hello, World”中位置下标(从0开始),返回值:1

strings.Index(str, substr string) int
  2.2 最后一个匹配索引

 str="Hello, World",substr="o"  返回o在字符串“Hello, World”中位置下标(从0开始),返回值:8

strings.LastIndex(str, substr string) int

 3.字符串转化为大小写

  3.1 转成大写

  str="hello, world"  返回值:HELLO,WORLD

strings.ToUpper(str string) string
  3.2 转成小写

 str="HELLO,WORLD"  返回值:hello,world

strings.ToLower(str string) string

4.统计某个字符在字符串出现的次数

  str="hello, world"  substr ="o" 统计o出现次数,返回值:2

strings.Count(str, substr string) int

5.判断字符串的包含关系

  str="hello, world"  substr ="world" 判断字符串中是否包含world字符串,返回值:true

strings.Contains(str, substr string) bool

6.字符串替换

 其中 old 想要替换的字符 new 替换后的字符 n 替换数量,如果n<0会替换所有old子串即n=-1

strings.Replace(str, old, new string, n int) string

    strings包就介绍到这里, 获取更多Go开发资源请自行去 GoFly全栈开发社区获取。

标签:逗号,arr,拆分,Golang,substr,str,字符串,strings,string
From: https://www.cnblogs.com/T8888/p/17934292.html

相关文章

  • golang对map排序
    golang中map元素是随机无序的,所以在对maprange遍历的时候也是随机的,不像php中是按顺序。所以如果想按顺序取map中的值,可以采用以下方式:import("fmt""sort")funcmain(){m:=make(map[int]string)m[1]="a"m[2]="c"m[0]="b"......
  • go-carbon v2.3.1 发布,轻量级、语义化、对开发者友好的 Golang 时间处理库
    carbon是一个轻量级、语义化、对开发者友好的golang时间处理库,支持链式调用。目前已被awesome-go收录,如果您觉得不错,请给个star吧github.com/golang-module/carbongitee.com/golang-module/carbon安装使用Golang版本大于等于1.16//使用github库goget-ugithu......
  • (打标修改)读取每个文件夹内的txt,加入逗号后加入数据前
    importosdefrename_images_in_folder(folder_path,txt_prefix):"""在指定文件夹中重命名所有图片文件,将给定的txt_prefix添加到每个文件名的开头。"""forfilenameinos.listdir(folder_path):#检查文件是否为图片(简单地通过文件扩展名判断)......
  • 【golang】怎么在Go语言中实现锁机制
    Go语言的锁在Go语言中,最常用的锁是互斥锁(Mutex)。互斥锁是一种特殊的二进制信号量,用于控制对共享资源的访问。Go语言通过标准库中的"sync"包提供了互斥锁的功能。互斥锁的类型定义如下:type Mutex struct {    state int32    sema  uint32}其中state字段用于记......
  • 【Golang】Golang的跳一跳
    一、基本概念在Go语言中,代码跳转是指从一个位置跳转到另一个位置。一般而言,我们可以通过函数调用进行代码跳转,也可以通过goto语句进行跳转。不同的跳转方式有不同的适用场景。二、函数调用函数是Go语言中的基本构建块之一。调用函数时,程序的执行流程会跳转到被调用的函数中,并在......
  • 【golang】Go语言实现数据转发功能
    首先,我们需要考虑数据实体的格式。在许多情况下,使用JSON格式最为方便。Go语言中有一个标准库“encoding/json”可以提供JSON编解码功能。我们可以使用它来将我们的数据序列化为JSON格式,并将其发送到目标组件中。接下来,我们需要选择一种合适的网络协议来实现数据传输。常用的协议......
  • 【golang】Go语言中interface类型怎么使用
    1、Go语言中interface类型的定义 在Go语言中,interface类型是一个抽象的类型,它是一组方法签名的集合,只要某个类型实现了这些方法,它就属于该interface类型。在Go语言中定义一个interface类型的方法,需要使用interface关键字。下面是interface类型的完整定义方式:type interfac......
  • Golang channel的关闭
    使用内置函数close可以关闭channel,当channel关闭后,就不能再向channel写数据了,但是仍然可以从channel中读取数据。一旦将channel关闭了,只能读不能写。相当于关闭管道就数据不能进入到队列里面了,只能进行读操作,只读不写。channel支持for-range的方式进行遍历,请注意两个细节(1)在遍历时,......
  • Golang秒读32GB大文件,如何读取?
    在Go中,处理大文件时,一般采用分块读取的方式,以避免一次性加载整个文件到内存中。以下是读取大文件的简洁步骤:1 打开文件: 使用os.Open打开文件。file, err := os.Open("largefile.txt")if err != nil {    log.Fatal(err)}defer file.Close()2 获取文件信息: 使用......
  • Golang基础(一)
    粗略了解Golang的核心特性Go语言的特性一、并发编程不同于传统的多进程或多线程,golang的并发执行单元是一种称为goroutine的协程。其在语言级别提供关键字:go——用于启动协程。chan——golang中用于并发的通道,用于协程的通信。select——golang提供的多路复用机制。close......