Just curious to findout: why aren\'t there standard functions like startswith, endswith, etc as part of the standard libraries in the Go programming language?
If you are working with bytes, you can use these functions from the bytes package:
package main
import (
"bytes"
"fmt"
)
func main() {
fmt.Println(bytes.HasPrefix([]byte("Gopher"), []byte("Go")))
fmt.Println(bytes.HasPrefix([]byte("Gopher"), []byte("C")))
fmt.Println(bytes.HasPrefix([]byte("Gopher"), []byte("")))
}
It will be less costly than converting to string first. Useful if you are reading in from an HTTP request, or reading from a local file.
The strings package contains HasPrefix and HasSuffix.
import "strings"
startsWith := strings.HasPrefix("prefix", "pre") // true
endsWith := strings.HasSuffix("suffix", "fix") // true
play.golang.org