首页 > 其他分享 >Go-31 Go中字符串切割的三种方法 strings.Index()、strings.Cut()、strings.Split()

Go-31 Go中字符串切割的三种方法 strings.Index()、strings.Cut()、strings.Split()

时间:2023-02-15 09:55:05浏览次数:59  
标签:Index addr ip pos port 字符串 Go strings

package main

import (
	"fmt"
	"strings"
)

/*	字符串切割	strings包对字符串的操作	*/
func main() {
	//方法一
	addr := "192.168.0.1:80"
	pos := strings.Index(addr, ":") // 输出字符串addr中:号的所在位置。结果为11
	println("pos的值是:", pos)
	if pos == -1 {
		panic("非法地址")
	}
	ip, port := addr[:pos], addr[pos+1:] // 字符串切割方法,第一个数:从头切到11,第二个数:从12切到尾
	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)
	}

}


标签:Index,addr,ip,pos,port,字符串,Go,strings
From: https://www.cnblogs.com/ludundun/p/17121722.html

相关文章

  • 随记一下之创建 go 项目
    创建go项目go开发工具箱下载Go官网下载地址:https://golang.org/dl/Go官方镜像站:https://golang.google.cn/dl/选用合适的系统和版本,然后进行安装。不同系统安装......
  • CVE-2023-0669 GoAnywhereMFT反序列化漏洞复现
    免责声明文中提到的所有技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途,否则产生的一切后果自行承担,与本文作者无关!GoAnywhereMFTGoAnywher......
  • Go基础系列 01-Golang简介
    1.什么是GolangGo(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go支持面向对象,而且具有真正的闭包(closures)和反射(reflecti......
  • golang 复杂数据类型
    1.指针一个指针变量指向了一个值的内存地址,类似于变量和常量,在使用指针前你需要声明指针。每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。使用&字符......
  • sql语气查询去重的两种方法、sql的模糊查询、sql中的日期函数、mysql字符串截取之subs
    sql语气查询去重的两种方法以下两种都可以进行去重查询,区别是:用distinct去重,只能查询到去重的属性那一列,无法查询其他字段用groupby分组查询,可以根据需求查询对应的其......
  • Django日志配置
    Django使用Python内建的logging模块打印日志,配置由四个部分组成记录器:Logger处理程序:Handler过滤器:Filter格式化:formatter 记录器-LoggerLogger为日志系......
  • 如何关闭gorm 1.20.0中的数据库实例
    因为我没有在带有*gorm实例的Close()函数中找到dbURI:=fmt.Sprintf("user=%spassword=%sdbname=%sport=%ssslmode=%sTimeZone=%s","username","password","......
  • 如何在 Golang 中打破一长行代码?
    这是StackOverflow上的一个问题,今天同事问我,我发现我也不知道。原问题译文:我不习惯看到超过80列的代码行。所以当我遇到这个时:err:=database.QueryRow("select*f......
  • django模糊查询排序
    classBook(models.Model):"""列名"""classMeta:db_table='book'name=models.CharField(verbose_name="名字",max_length=32)......
  • char *setlocale(int category, const char *locale)
    category --这是一个已命名的常量,指定了受区域设置影响的函数类别。LC_ALL 包括下面的所有选项。LC_COLLATE 字符串比较。参见strcoll()。LC_CTYPE 字符分类和......