青春须早为,岂能长少年。这篇文章主要讲述#yyds干货盘点#Go+ 集合 Collection 教程(4.3)相关的知识,希望能为你提供帮助。
目录
??Go+ 概述??
??集合 Collection??
??Index 方法??
??Include 方法??
??Any 方法??
??All 方法??
??Filter 方法??
Go+ 概述Go+ 是一门融合工程开发的 Go、数据科学领域的
python、编程教学领域的 Scratch,以 Python 之形结合 Go 之心,让工程师处理数据不需要学习新的开发语言,让初学者学习编程、开发作品的门槛更低的编程语言。
集合 Collection有时候,我们会经常需要对数据集合 collection 进行操作,比如选择满符合某种条件的条目项,或者使用自定义函数把条目项映射到新的集合中去。
在大多数语言中,我们习惯使用通用的数据结构和算法。但是 Go+ 不支持泛型;在 Go+ 中,也可以提供了一些程序和数据类型需要的集合方法。
接下来,我们介绍一些集合方法的使用实例。
Index 方法作用:返回目标串在字符串数组中的位置,如果没有找到返回 -1。
示例代码如下:
func Index(vs []string, t string) int
for i, v := range vs
if v == t
return i
return -1
arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
println("字符串数组:", arr)
println("hello 在字符串数组中的位置:", Index(arr, "hello"))
执行结果如下:
字符串数组: [a hello world b good x zZ A] hello 在字符串数组中的位置: 1运行结果截图如下:
也可以自己尝试:??请点我! ??
Include 方法作用:判断目标串是不是包含在切片中,存在返回 true,否则返回 false。
示例代码如下:
func Index(vs []string, t string) int
for i, v := range vs
if v == t
return i
return -1
func Include(vs []string, t string) bool
return Index(vs, t) > = 0
arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
println("字符串数组:", arr)
println("目标串 hello 是否包含在字符串切片中:", Include(arr, "hello"))
执行结果如下:
字符串数组: [a hello world b good x zZ A] 目标串 hello 是否包含在字符串切片中: true也可以自己尝试:??请点我!??
Any 方法作用:如果切片中的一个字符串满足条件,则返回 true,否则返回 false。
示例代码如下:
import (
"strings"
)
func Any(vs []string, f func(string) bool) bool
for _, v := range vs
if f(v)
return true
return false
arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
println("字符串数组:", arr)
println("字符串切片中是否存在 w 前缀:", Any(arr, func(v string) bool
return strings.HasPrefix(v, "w")
))
执行结果如下:
字符串数组: [a hello world b good x zZ A] 字符串切片中是否存在 w 前缀: true也可以自己尝试:??请点我!??
All 方法作用:切片中所有元素都满足特定的条件,则返回 true,否则返回 false。
示例代码如下:
import (
"strings"
)
func All(vs []string, f func(string) bool) bool
for _, v := range vs
if !f(v)
return false
return true
arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
println("字符串数组:", arr)
println("字符串切片中所有元素都存在 w 前缀:", All(arr, func(v string) bool
return strings.HasPrefix(v, "w")
))
执行结果如下:
字符串数组: [a hello world b good x zZ A] 字符串切片中所有元素都存在 w 前缀: false也可以自己尝试:??请点我!??
Filter 方法作用:返回切片中所有元素都满足特定的条件的新切片。
示例代码如下:
import (
"strings"
)
func Filter(vs []string, f func(string) bool) []string
vsf := make([]string, 0)
for _, v := range vs
if f(v)
vsf = append(vsf, v)
return vsf
arr := ["a", "hello", "world", "b", "good", "x", "zZ", "A"]
println("字符串切片:", arr)
println("字符串切片中所有元素都存在 0 的新切片:", Filter(arr, func(v string) bool
return strings.Contains(v, "o")
))
执行结果如下:
字符串切片: [a hello world b good x zZ A] 字符串切片中所有元素都存在 0 的新切片: [hello world good]也可以自己尝试:??请点我! ??
【#yyds干货盘点#Go+ 集合 Collection 教程(4.3)】作者简介:
推荐阅读
- FFH手把手教你安装Ubuntu到移动介质并设置好UEFI引导
- K-Pop 粉丝是新的匿名者
- mysql备份和恢复
- CentOS7源码安装最新版本bind9-开机启动服务设置
- MySQL索引事务与存储引擎
- MySQL日志管理备份与恢复
- ingress yaml示例
- #yyds干货盘点#K8S 之 EFK 日志管理系统
- Gradle+Groovy基础篇#yyds干货盘点#