Go语言根据指定条件查找字符

Go语言根据指定条件查找字符教程

Go 语言 中,在一个 字符串 中查找满足特定条件 字符 我们可以使用 Strings.IndexFunc() 函数,Strings.IndexFunc() 函数 的第二个 参数 是一个 匿名函数,如果该匿名函数返回 true, 那么该字符就是我们需要查找的字符,否则就不是。

IndexFunc()函数

语法

func IndexFunc(s string, f func(rune) bool) int

参数

参数 描述
s 原字符串。
f 表示要检索的字符的条件判断函数。

返回值

IndexFunc() 函数返回 int 类型的值,如果有满足条件的字符,则返回第一次出现字符的索引;反之,则返回 -1。

案例

查找字符串中满足特定条件的字符

使用 Strings.IndexFunc() 函数,查找字符串中满足特定条件的字符

package main import ( "fmt" "strings" ) func checkRune(r rune)bool{ if r > 97{ return true } return false } func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 Strings.IndexFunc() 函数,查找字符串中满足特定条件的字符 strHaiCoder := "I love Golang and I study Golang From HaiCoder" indexFunc := strings.IndexFunc(strHaiCoder, checkRune) fmt.Println("indexFunc =", indexFunc) }

程序运行后,控制台输出如下:

34 golang查找字符串中满足特定条件的字符.png

首先,我们定义了一个字符串类型的 变量 strHaicoder,接着我们使用字符串的 strings.IndexFunc() 函数查找字符串变量 strHaicoder 中满足特定条件的字符,即字符的 ASCII 码大于 97 的字符第一次出现的位置,并使用 print() 函数,打印最终的结果。

查找字符串中满足特定条件的字符

使用 Strings.IndexFunc() 函数,查找字符串中满足特定条件的字符

package main import ( "fmt" "strings" ) func checkRune(r rune)bool{ if r == 'G' || r == 'a'{ return true } return false } func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 Strings.IndexFunc() 函数,查找字符串中满足特定条件的字符 strHaiCoder := "I love Golang and I study Golang From HaiCoder" indexFunc := strings.IndexFunc(strHaiCoder, checkRune) fmt.Println("indexFunc =", indexFunc) }

程序运行后,控制台输出如下:

35 golang查找字符串中满足特定条件的字符.png

首先,我们定义了一个字符串类型的变量 strHaicoder,接着我们使用字符串的 strings.IndexFunc() 函数查找字符串变量 strHaicoder 中满足特定条件的字符,即要么是字符 G,要么是字符 a,第一次出现的位置,并使用 print() 函数,打印最终的结果。

查找不存在的字符

使用 Strings.IndexFunc() 函数,查找不存在的字符返回 -1

package main import ( "fmt" "strings" ) func checkRune(r rune)bool{ if r == '!'{ return true } return false } func main() { fmt.Println("嗨客网(www.haicoder.net)") //使用 Strings.IndexFunc() 函数,查找不存在的字符返回 -1 strHaiCoder := "I love Golang and I study Golang From HaiCoder" indexFunc := strings.IndexFunc(strHaiCoder, checkRune) fmt.Println("indexFunc =", indexFunc) }

程序运行后,控制台输出如下:

36 golang查找字符串中满足特定条件的字符.png

首先,我们定义了一个字符串类型的变量 strHaicoder,接着我们使用字符串的 strings.IndexFunc() 函数查找字符串变量 strHaicoder 中满足特定条件的字符,即是字符 !,第一次出现的位置,并使用 print() 函数,打印最终的结果。

Go语言根据指定条件查找字符总结

在 Go 语言中,在一个字符串中查找满足特定条件字符我们可以使用 Strings.IndexFunc() 函数。Go 语言 IndexFunc() 函数语法:

func IndexFunc(s string, f func(rune) bool) int