Go 字符串切割技巧
原文链接:http://www.zhoubotong.site/post/36.html
标准库专门提供了一个包 strings 进行字符串的操作,随着go1.18新增的 Cut 函数,字符串处理也更加方便了。
Cut 函数的签名如下:
1 | 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,直接上示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | 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) } } |
无论从事什么行业,只要做好两件事就够了,一个是你的专业、一个是你的人品,专业决定了你的存在,人品决定了你的人脉,剩下的就是坚持,用善良專業和真诚赢取更多的信任。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!