在 Go 语言 中,在一个 字符串 中查找满足特定条件 字符 我们可以使用 Strings.IndexFunc() 函数,Strings.IndexFunc() 函数 的第二个 参数 是一个 匿名函数,如果该匿名函数返回 true, 那么该字符就是我们需要查找的字符,否则就不是。
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)
}
程序运行后,控制台输出如下:
首先,我们定义了一个字符串类型的 变量 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)
}
程序运行后,控制台输出如下:
首先,我们定义了一个字符串类型的变量 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)
}
程序运行后,控制台输出如下:
首先,我们定义了一个字符串类型的变量 strHaicoder,接着我们使用字符串的 strings.IndexFunc() 函数查找字符串变量 strHaicoder 中满足特定条件的字符,即是字符 !,第一次出现的位置,并使用 print() 函数,打印最终的结果。
在 Go 语言中,在一个字符串中查找满足特定条件字符我们可以使用 Strings.IndexFunc() 函数。Go 语言 IndexFunc() 函数语法:
func IndexFunc(s string, f func(rune) bool) int