strings.FieldsFunc() Golang中的函数用于在每次运行的满足f(c)的Unicode代码点c处拆分给定的字符串str,并返回由str组成的切片数组。
用法:
func FieldsFunc(str string, f func(rune) bool) []string
此处,str是给定的字符串,符文是内置类型,意为包含单个Unicode字符,f是用户定义的函数。
返回:如果str中的所有代码点均满足f(c)或字符串为空,则返回空片。
注意:此函数不能保证调用f(c)的顺序。如果f对于给定的c没有返回一致的结果,则FieldsFunc可能会崩溃。
范例1:
// Golang program to illustrate the
// strings.FieldsFunc() Function
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
// f is a function which returns true if the
// c is number and false otherwise
f:= func(c rune) bool {
return unicode.IsNumber(c)
}
// FieldsFunc() function splits the string passed
// on the return values of the function f
// String will therefore be split when a number
// is encontered and returns all non-numbers
fmt.Printf("Fields are:%q\n",
strings.FieldsFunc("ABC123PQR456XYZ789", f))
}
输出:
Fields are:["ABC" "PQR" "XYZ"]
范例2:
// Golang program to illustrate the
// strings.FieldsFunc() Function
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
// f is a function which returns true if the
// c is a white space or a full stop
// and returns false otherwise
f:= func(c rune) bool {
return unicode.IsSpace(c) || c == '.'
}
// We can also pass a string indirectly
// The string will split when a space or a
// full stop is encontered and returns all non-numbers
s:= "We are humans. We are social animals."
fmt.Printf("Fields are:%q\n", strings.FieldsFunc(s, f))
}
输出:
Fields are:["We" "are" "humans" "We" "are" "social" "animals"]
相关用法
- Golang math.Lgamma()用法及代码示例
- Golang math.Float64bits()用法及代码示例
- Golang atomic.AddInt64()用法及代码示例
- Golang atomic.StoreInt64()用法及代码示例
- Golang reflect.FieldByIndex()用法及代码示例
- Golang string.Contains用法及代码示例
- Golang bits.Sub()用法及代码示例
- Golang io.PipeWriter.CloseWithError()用法及代码示例
- Golang time.Round()用法及代码示例
- Golang reflect.AppendSlice()用法及代码示例
- Golang reflect.ChanOf()用法及代码示例
- Golang flag.Bool()用法及代码示例
- Golang time.Sleep()用法及代码示例
- Golang time.Time.Year()用法及代码示例
- Golang reflect.DeepEqual()用法及代码示例
- Golang reflect.Indirect()用法及代码示例
- Golang reflect.CanAddr()用法及代码示例
- Golang reflect.CanInterface()用法及代码示例
- Golang reflect.CanSet()用法及代码示例
- Golang reflect.Cap()用法及代码示例
注:本文由纯净天空筛选整理自vanigupta20024大神的英文原创作品 strings.FieldsFunc() Function in Golang With Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。