Home
Go
strings.Fields and FieldsFunc
This page was last reviewed on Jun 8, 2023.
Dot Net Perls
Fields. A field is separated by one or more space characters. The Fields() method in the strings package separates these into an array. It splits on groups of spaces.
With Fields, we treat many consecutive delimiter characters as one. So several spaces is the same as a single space. This is a key advantage of Fields over Split().
strings.Split
Fields example. Here is a basic example of Fields. Please notice how the words in the value string are separated by spaces, but two or spaces may be used to separate a word.
package main import ( "fmt" "strings" ) func main() { value := "Cat Dog Bird Fish" result := strings.Fields(value) // Display all fields, first field and count. fmt.Println(result) fmt.Println(result[0]) fmt.Println(len(result)) }
[Cat Dog Bird Fish] Cat 4
FieldsFunc. This method allows us to specify the field separator as a func. The fund must receive a rune and return a bool (whether the char is a separator).
Tip With FieldsFunc, we get the same functionality as Fields() but are not restricted to using a space separator.
package main import ( "fmt" "strings" ) func main() { // Return true if comma or colon char. f := func(c rune) bool { return c == ',' || c == ':' } // Separate into fields with func. fields := strings.FieldsFunc("cat,dog:bird", f) fmt.Println(fields) }
[cat dog bird]
Fields and FieldsFunc are helpful when parsing strings that use a single delimiter character (and perhaps several in a sequence). More complex delimiters cannot be used.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.
This page was last updated on Jun 8, 2023 (edit).
Home
Changes
© 2007-2024 Sam Allen.