从golang中的一个字符串中剥离所有的空格
发布时间:2020-12-16 19:29:19 所属栏目:大数据 来源:网络整理
导读:从一些任意字符串中去除所有空格的最快方法是什么? 我从串包中链接两个函数: response = strings.Join(strings.Fields(response),"") 任何人都有更好的方法来做到这一点 以下是使用 strings.Map 生成较少中间数据的解决方案: strings.Map(func(r rune) ru
从一些任意字符串中去除所有空格的最快方法是什么?
我从串包中链接两个函数: response = strings.Join(strings.Fields(response),"") 任何人都有更好的方法来做到这一点
以下是使用
strings.Map 生成较少中间数据的解决方案:
strings.Map(func(r rune) rune { if unicode.IsSpace(r) { return -1 } return r },response) 以下是两种功能之间的基准(source data): BenchmarkSpaceMap 500 2941575 ns/op 221184 B/op 2 allocs/op BenchmarkSpaceFieldsJoin 300 4967475 ns/op 524288 B/op 3 allocs/op package main_test import ( "strings" "unicode" "testing" ) func SpaceMap(str string) string { return strings.Map(func(r rune) rune { if unicode.IsSpace(r) { return -1 } return r },str) } func SpaceFieldsJoin(str string) string { return strings.Join(strings.Fields(str),"") } func BenchmarkSpaceMap(b *testing.B) { for n := 0; n < b.N; n++ { SpaceMap(data) } } func BenchmarkSpaceFieldsJoin(b *testing.B) { for n := 0; n < b.N; n++ { SpaceFieldsJoin(data) } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |