golang之Slices操作示例(字符串数组)

2024-06-04 18:12

本文主要是介绍golang之Slices操作示例(字符串数组),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 声明与长度判断 

//字符串数组使用,也叫分片(Slices)
var s1 []string
fmt.Println("for s1:", s1, len(s1), cap(s1), s1 == nil, len(s1) == 0)
if s1 == nil {fmt.Println("空字符串数组(Slices)")
}
if len(s1) == 0 {fmt.Println("字符串数组(Slices)的大小为0")
}

2.使用make分配内存

//使用make为Slice分配内存s2 := make([]string, 3)fmt.Println("for s2:", s2, len(s2), cap(s2), s2 == nil, len(s2) == 0)//赋值Slicefor i := 0; i < len(s2); i++ {s2[i] = strconv.Itoa((i + 1) * 5) //转换为字符串,并存储到元素中}//遍历for _, v := range s2 {fmt.Println("===> value of Slices : ", v)}

3. 动态添加元素

//使用append向Slice中添加5个元素for i := 0; i < 5; i++ {s2 = append(s2, strconv.Itoa((i+1)*5+15))}fmt.Println("成功向Slices中添加元素后:", s2)//再次遍历for k, v := range s2 {fmt.Println("k,v in s2: ===> ", k, v)}

4.副本复制

//复制Slices副本s2_copy := make([]string, len(s2)) //根据s2大小分配新内存copy(s2_copy, s2)                  //复制s2到s2_copyfmt.Println(s2_copy)//遍历s2_copyfor k, v := range s2_copy {fmt.Println("k,v in s2_copy: ===> ", k, v)}

5.取指定位置与长度元素

newSlice := s2[2:5] //取索引为2开始到索引为5结结束的所有元素并返回新Slicesfmt.Println("取索引为2开始到索引为5结束的所有元素并返回新Slices:", newSlice)from2toend := s2[2:] //取索引为2开始,所有元素fmt.Println("取索引为2开始,所有元素:", from2toend)from0to5 := s2[:5] //取索引为0开始,索引为5结束的所有元素并返回新Slicesfmt.Println("取索引为0开始,索引为5结束的所有元素并返回新Slices", from0to5)

6.二维操作

//使用make为二维数组分配内存new2darr := make([][]int, 5)for i := 0; i < 5; i++ {innerLen := i + 1new2darr[i] = make([]int, innerLen) //动态创建数组for j := 0; j < innerLen; j++ {new2darr[i][j] = i + j + 1 //赋值}}fmt.Println(new2darr)

这篇关于golang之Slices操作示例(字符串数组)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030748

相关文章

golang版本升级如何实现

《golang版本升级如何实现》:本文主要介绍golang版本升级如何实现问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录golanwww.chinasem.cng版本升级linux上golang版本升级删除golang旧版本安装golang最新版本总结gola

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

MySQL 定时新增分区的实现示例

《MySQL定时新增分区的实现示例》本文主要介绍了通过存储过程和定时任务实现MySQL分区的自动创建,解决大数据量下手动维护的繁琐问题,具有一定的参考价值,感兴趣的可以了解一下... mysql创建好分区之后,有时候会需要自动创建分区。比如,一些表数据量非常大,有些数据是热点数据,按照日期分区MululbU

golang中reflect包的常用方法

《golang中reflect包的常用方法》Go反射reflect包提供类型和值方法,用于获取类型信息、访问字段、调用方法等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录reflect包方法总结类型 (Type) 方法值 (Value) 方法reflect包方法总结

Python函数作用域示例详解

《Python函数作用域示例详解》本文介绍了Python中的LEGB作用域规则,详细解析了变量查找的四个层级,通过具体代码示例,展示了各层级的变量访问规则和特性,对python函数作用域相关知识感兴趣... 目录一、LEGB 规则二、作用域实例2.1 局部作用域(Local)2.2 闭包作用域(Enclos

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

关于集合与数组转换实现方法

《关于集合与数组转换实现方法》:本文主要介绍关于集合与数组转换实现方法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、Arrays.asList()1.1、方法作用1.2、内部实现1.3、修改元素的影响1.4、注意事项2、list.toArray()2.1、方

mysql表操作与查询功能详解

《mysql表操作与查询功能详解》本文系统讲解MySQL表操作与查询,涵盖创建、修改、复制表语法,基本查询结构及WHERE、GROUPBY等子句,本文结合实例代码给大家介绍的非常详细,感兴趣的朋友跟随... 目录01.表的操作1.1表操作概览1.2创建表1.3修改表1.4复制表02.基本查询操作2.1 SE

C++20管道运算符的实现示例

《C++20管道运算符的实现示例》本文简要介绍C++20管道运算符的使用与实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录标准库的管道运算符使用自己实现类似的管道运算符我们不打算介绍太多,因为它实际属于c++20最为重要的