首先看官方文档介绍
func TrimLeft(s string, cutset string) string{}
TrimLeft返回字符串s的一部分,其中删除了cutset中包含的所有前导Unicode代码点。
func TrimPrefix(s, prefix string) string{}
TrimPrefix返回不包含前缀字符串的s。如果s不以前缀开头,则s不变返回。
理解
TrimPrefix很好理解,就是把前缀字符串去掉,剩下的就是需要返回的
那么TrimLeft怎么理解呢,我来举个例子:
words := "mongodb://off"
prefix := "mongodb://"
fmt.Println(strings.TrimLeft(words, prefix))
words = "mongodb://xgoff"
prefix = "mongodb://"
fmt.Println(strings.TrimLeft(words, prefix))
输出:
ff
xgoff
第一个为什么是ff ?
- 第一次清掉前缀剩下off
- 第二次发现o开头的字符串o在包含在prefix里面,去掉
- 剩下ff,发现不在prefix字符串里面,清除完毕
第二个为什么输出是 xgoff ?
- 第一次清掉前缀剩下xgoff
- 剩下以x开头的字符串均不在prefix,清除完毕
有疑问加站长微信联系(非本文作者)