当前位置:首页 > Golang杂记 > 正文内容

Go 字符串切割技巧

11个月前 (03-19)Golang杂记884

标准库专门提供了一个包 strings 进行字符串的操作,随着go1.18新增的 Cut 函数,字符串处理也更加方便了。

Cut 函数的签名如下:

func Cut(s, sep string) (before, after string, found bool)

将字符串 s 在第一个 sep 处切割为两部分,分别存在 before 和 after 中。如果 s 中没有 sep,返回 s,"",false。

废话不多说,举个例子:

从 192.168.0.1:80 中获取 ip 和 port,直接上示例:

package main

import (
    "fmt"
    "strings"
)

func main() {
    //方法一
    addr := "192.168.0.1:80"
    pos := strings.Index(addr, ":")
    if pos == -1 {
        panic("非法地址")
    }
    ip, port := addr[:pos], addr[pos+1:]
    fmt.Println(ip, port)

    //方法二
    ip, port, ok := strings.Cut(addr, ":")
    if ok {
        fmt.Println(ip, port)
    }
    //方法三
    str := strings.Split(addr, ":")
    if len(str) == 2 {
        ip := str[0]
        port := str[1]
        fmt.Println(ip, port)
    }

}


    扫描二维码推送至手机访问。

    版权声明:本文由周伯通的博客发布,如需转载请注明出处。

    本文链接:https://www.zhoubotong.site/post/36.html

    分享给朋友:

    相关文章

    Go 自定义error错误

        Go的error比较灵活.但是自身对error处理的机制有不太好用,我们可以自定义错误输出: 只要所有实现了 Error()&nbs...

    windows下编译linux可执行程序

    开发中,我们可以在Windows下编译Linux 64位可执行程序,首先获取目标系统所支持的构架,比如x86/x64/arm64/arm 等等。在 linux 系统中,我们可以使用命令 uname -...

    Golang中字符串、数组、切片排序

    使用Golang的sort包用来排序,包括二分查找等操作。下面通过实例代码来分享下sort包的使用技巧:package main import (   ...

    Go语言中的零值

    开箱即用什么叫开箱即用呢?因为Go语言的零值让程序变得更简单了,有些场景我们不需要显示初始化就可以直接用,举几个例子:切片,他的零值是nil,即使不用make进行初始化也是可以直接使用的,例如:pac...

    发表评论

    访客

    看不清,换一张

    ◎欢迎参与讨论,请在这里发表您的看法和观点。