没有startwith,结束Go中的功能?

时间:2012-11-06 03:45:20

标签: string go

只是好奇地发现:为什么没有像startwith,endswith等标准函数作为Go编程语言中标准库的一部分?

2 个答案:

答案 0 :(得分:236)

strings包中包含HasPrefixHasSuffix

import "strings"

startsWith := strings.HasPrefix("prefix", "pre") // true
endsWith := strings.HasSuffix("suffix", "fix") // true

play.golang.org

答案 1 :(得分:0)

如果使用字节,则可以从字节开始使用这些功能 包装:

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("")))
}

与首先转换为字符串相比,它的成本更低。如果您正在阅读很有用 通过HTTP请求输入,或从本地文件读取。