Fields and FieldsFuncUse the Fields and FieldsFunc methods to separate string parts with simple syntax.
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.
A key advantage. 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().
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]
A review. 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.
No updates found for this page.
© 2007-2023 Sam Allen.