strings.Contains() 总是返回 false

在 Go 中,我想检查以下字符串是否包含text/plain在字符串中。函数strings.Contains()总是返回false。


我的本地 go 版本是go1.14.3 windows/amd64,我的服务器版本是go1.13.3 linux/amd64


测试代码(play.golang.org/p/_ikCzWd6438)


var test = "text/plain; charset=utf-8"


fmt.Println("my string:", test)

fmt.Println("strings.Contains(text/plain)", strings.Contains("text/plain", test))

fmt.Println("strings.Contains(text)", strings.Contains("text", test))

fmt.Println("strings.Contains(charset)", strings.Contains("charset", test))


var test2 = strings.ReplaceAll(test, "/", "") // remove slash

fmt.Println("my second string:", test2)

fmt.Println("strings.Contains(textplain)", strings.Contains("textplain", test2))

fmt.Println("strings.Contains(text)", strings.Contains("text", test2))

fmt.Println("strings.Contains(charset)", strings.Contains("charset", test2))

输出


my string: text/plain; charset=utf-8

strings.Contains(text/plain) false

strings.Contains(text) false

strings.Contains(charset) false

my second string: textplain; charset=utf-8

strings.Contains(textplain) false

strings.Contains(text) false

strings.Contains(charset) false

那么为什么strings.Contains()总是返回'false'?


拉莫斯之舞
浏览 273回答 1
1回答

慕哥6287543

根据文档:func Contains(s, substr string) bool包含报告 substr 是否在 s 内。第一个参数s是原始字符串,第二个参数是substr您要搜索的子字符串。在你的情况下,情况正好相反。例如,而不是strings.Contains("charset", test),它应该是strings.Contains(test, "charset")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go