总结:

1. strings.TrimPrefix() 函数很简单,就是删掉一样的前缀

2. strings.TrimLeft() 函数不仅仅删除一样的前缀,若剩下的字符串中有跟前缀一样的字符,也会删掉

 

实验如下图:

go strings.TrimPrefix() 和 strings.TrimLeft()_mysql

 

代码如下:

package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println("删除前缀字符串 TrimPrefix()函数 测试")
src := "xxabcdefg"

// 由于src的开头和pre1一致,所以返回删除pre1后的内容,即"defg"
pre1 := "xxabc"
result1 := strings.TrimPrefix(src, pre1)
fmt.Printf("删除前:%v, 前缀:%v, 删除后:%v \n", src, pre1, result1)

// 由于src的开头和pre2不一致,所以不做修改,直接返回原来的内容
pre2 := "abc"
result2 := strings.TrimPrefix(src, pre2)
fmt.Printf("删除前:%v, 前缀:%v, 删除后:%v \n\n", src, pre2, result2)

fmt.Println("删除前缀,且删除剩下内容中的左侧和前缀中一样的字符 TrimLeft()函数 测试")

// 由于srcstr的开头和pre3的一致,第一步:删除pre3,即"mysql",剩下"myour"; 第二步:剩下的"myour"中,左侧开头的"my"和pre3开头一样所以也删除,剩下"our"
srcstr := "mysqlmyour"
pre3 := "mysql"
result3 := strings.TrimLeft(srcstr, pre3)
fmt.Printf("删除前:%v, 前缀:%v, 删除后:%v \n", srcstr, pre3, result3)

// 由于srcstr2的开头和pre4的一致,第一步:删除pre4,即"mysql",剩下"ourmy"; 第二步:剩下的"ourmy",左侧开头的内容和pre4开头不一样,所以不做操作,直接返回
srcstr2 := "mysqlourmy"
pre4 := "mysql"
result4 := strings.TrimLeft(srcstr2, pre4)
fmt.Printf("删除前:%v, 前缀:%v, 删除后:%v \n", srcstr2, pre4, result4)
}