La función strings.FieldsFunc() en Golang se usa para dividir la string dada str en cada ejecución de los puntos de código Unicode c que satisfacen f(c) y devuelve una array de segmentos de str.
Sintaxis:
func FieldsFunc(str string, f func(rune) bool) []stringAquí, str es la string dada, la runa es un tipo incorporado destinado a contener un solo carácter Unicode y f es una función definida por el usuario.
Retorno: si todos los puntos de código en str satisfacen f(c) o la string está vacía, se devuelve un segmento vacío.
Nota: Esta función no garantiza el orden en que llama a f(c). Si f no devuelve resultados consistentes para un c dado, FieldsFunc puede fallar.
Ejemplo 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)) }
Producción:
Fields are: ["ABC" "PQR" "XYZ"]
Ejemplo 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)) }
Producción:
Fields are: ["We" "are" "humans" "We" "are" "social" "animals"]
Publicación traducida automáticamente
Artículo escrito por vanigupta20024 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA