package mainimport ( "bytes" "fmt" "reflect" "strings")func main() { sentence := []byte("The Go language has built-in facilities, as well as library support, for writing concurrent programs.") fmt.Printf("%q\n", sentence) vowelsSpace := " " chop := bytes.FieldsFunc(sentence, func(r rune) bool { return strings.ContainsRune(vowelsSpace, r) }) for index, element := range chop { fmt.Printf("\n%d => %q", index, element) } fmt.Println("\n", "chop type : ", reflect.ValueOf(chop).Kind()) vowelsSpace = "," chop = bytes.FieldsFunc(sentence, func(r rune) bool { return strings.ContainsRune(vowelsSpace, r) }) for index, element := range chop { fmt.Printf("\n%d => %q", index, element) } fmt.Println("\n", "chop type : ", reflect.ValueOf(chop).Kind())}
编译输出:
C:/Go/bin/go.exe build -i [D:/golang/src/JsonTest]成功: 进程退出代码 0.D:/golang/src/JsonTest/JsonTest.exe [D:/golang/src/JsonTest]"The Go language has built-in facilities, as well as library support, for writing concurrent programs."0 => "The"1 => "Go"2 => "language"3 => "has"4 => "built-in"5 => "facilities,"6 => "as"7 => "well"8 => "as"9 => "library"10 => "support,"11 => "for"12 => "writing"13 => "concurrent"14 => "programs." chop type : slice0 => "The Go language has built-in facilities"1 => " as well as library support"2 => " for writing concurrent programs." chop type : slice成功: 进程退出代码 0.