go語言strings庫總結(jié)

最近由于用go做字符串處理渐裂,用到了go的strings庫,借此對go strings庫做個總結(jié)脆丁,將go strings中所有函數(shù)的功能做一個簡單的說明蔚鸥,當(dāng)然,這是一個重復(fù)造輪子的過程捧弃,因為go語言標(biāo)準(zhǔn)庫已經(jīng)有中文版了赠叼。

詳見:https://studygolang.com/pkgdoc

所以寫本文主要有以下2個目的,其一违霞,熟悉編程語言字符串處理方法嘴办。大多數(shù)語言的字符串處理庫提供的函數(shù)都大同小異,且越高級的語言提供的函數(shù)越多买鸽,比如c提供的字符串處理函數(shù)go基本都有涧郊,但是go提供的c未必有。其實定義了基本的字符串處理函數(shù)后眼五,更高級字符串處理函數(shù)都是通過封裝基本的處理函數(shù)實現(xiàn)妆艘。所以熟悉go strings庫后基本就能熟悉大多語言的strings庫了。其二看幼,學(xué)習(xí)標(biāo)準(zhǔn)庫的命名方式批旺。命名是計算機科學(xué)最難的二件事之一,另外一件事是緩存失效诵姜∑螅可見命名在編程中重要性。作為一個剛?cè)腴T的程序員棚唆,熟悉標(biāo)準(zhǔn)庫的函數(shù)命名方式后暇赤,以后可以參考其命名方式,因為寫代碼很多時候都是在想一個合適的函數(shù)名瑟俭、方法名和變量名等翎卓。

函數(shù)列表

  • Compare(a, b string) int

按字典順序比較a和b字符串大小

  • func Contains(s, substr string) bool

判斷字符串s是否包含substr字符串

  • func ContainsAny(s, chars string) bool

判斷字符串s是否包含chars字符串中的任一字符

  • func ContainsRune(s string, r rune) bool

判斷字符串s是否包含unicode碼值r

  • func Count(s, sep string) int

返回字符串s包含字符串sep的個數(shù)

  • func EqualFold(s, t string) bool

判斷s和t兩個utf8字符串是否相等契邀,忽略大小寫

  • func Fields(s string) []string

將字符串s以空白字符分割摆寄,返回一個切片

  • func FieldsFunc(s string, f func(rune) bool) []string

將字符串s以滿足f(r)==true的字符分割,返回一個切片

  • func HasPrefix(s, prefix string) bool

判斷字符串s是否有前綴字符串prefix

  • func HasSuffix(s, suffix string) bool

判斷字符串s是否有前綴字符串suffix

  • func Index(s, sep string) int

返回字符串s中字符串sep首次出現(xiàn)的位置

  • func IndexAny(s, chars string) int

返回字符串chars中的任一unicode碼值r在s中首次出現(xiàn)的位置

  • func IndexByte(s string, c byte) int

返回字符串s中字符c首次出現(xiàn)位置

  • func IndexFunc(s string, f func(rune) bool) int

返回字符串s中滿足函數(shù)f(r)==true字符首次出現(xiàn)的位置

  • func IndexRune(s string, r rune) int

返回unicode碼值r在字符串中首次出現(xiàn)的位置

  • func Join(a []string, sep string) string

將a中的所有字符串連接成一個字符串,使用字符串sep作為分隔符

  • func LastIndex(s, sep string) int

返回字符串s中字符串sep最后一次出現(xiàn)的位置

  • func LastIndexAny(s, chars string) int

返回字符串s中任意一個unicode碼值r最后一次出現(xiàn)的位置

  • func LastIndexByte(s string, c byte) int

返回字符串s中字符c最后一次出現(xiàn)的位置

  • func LastIndexFunc(s string, f func(rune) bool) int

返回字符串s中滿足函數(shù)f(r)==true字符最后一次出現(xiàn)的位置

  • func Map(mapping func(rune) rune, s string) string

將字符串s中的每個字符r按函數(shù)mapping(r)的規(guī)則轉(zhuǎn)換并返回

  • func Repeat(s string, count int) string

將字符串s重復(fù)count次返回

  • func Replace(s, old, new string, n int) string

替換字符串s中old字符為new字符并返回微饥,n<0是替換所有old字符串

  • func Split(s, sep string) []string

將字符串s以sep作為分隔符進行分割逗扒,分割后字符最后去掉sep

  • func SplitAfter(s, sep string) []string

將字符串s以sep作為分隔符進行分割,分割后字符最后附上sep

  • func SplitAfterN(s, sep string, n int) []string

將字符串s以sep作為分隔符進行分割欠橘,分割后字符最后附上sep矩肩,n決定返回的切片數(shù)

  • func SplitN(s, sep string, n int) []string

將字符串s以sep作為分隔符進行分割,分割后字符最后去掉sep肃续,n決定返回的切片數(shù)

  • func Title(s string) string

將字符串s每個單詞首字母大寫返回

  • func ToLower(s string) string

將字符串s轉(zhuǎn)換成小寫返回

  • func ToLowerSpecial(_case unicode.SpecialCase, s string) string

將字符串s中所有字符按_case指定的映射轉(zhuǎn)換成小寫返回

  • func ToTitle(s string) string

將字符串s轉(zhuǎn)換成大寫返回

  • func ToTitleSpecial(_case unicode.SpecialCase, s string) string

將字符串s中所有字符按_case指定的映射轉(zhuǎn)換成大寫返回

  • func ToUpper(s string) string

將字符串s轉(zhuǎn)換成大寫返回

  • func ToUpperSpecial(_case unicode.SpecialCase, s string) string

將字符串s中所有字符按_case指定的映射轉(zhuǎn)換成大寫返回

  • func Trim(s string, cutset string) string

將字符串s中首尾包含cutset中的任一字符去掉返回

  • func TrimFunc(s string, f func(rune) bool) string

將字符串s首尾滿足函數(shù)f(r)==true的字符去掉返回

  • func TrimLeft(s string, cutset string) string

將字符串s左邊包含cutset中的任一字符去掉返回

  • func TrimLeftFunc(s string, f func(rune) bool) string

將字符串s左邊滿足函數(shù)f(r)==true的字符去掉返回

  • func TrimPrefix(s, prefix string) string

將字符串s中前綴字符串prefix去掉返回

  • func TrimRight(s string, cutset string) string

將字符串s右邊包含cutset中的任一字符去掉返回

  • func TrimRightFunc(s string, f func(rune) bool) string

將字符串s右邊滿足函數(shù)f(r)==true的字符去掉返回

  • func TrimSpace(s string) string

將字符串s首尾空白去掉返回

  • func TrimSuffix(s, suffix string) string

將字符串s中后綴字符串prefix去掉返回

參考文獻

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末黍檩,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子始锚,更是在濱河造成了極大的恐慌刽酱,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瞧捌,死亡現(xiàn)場離奇詭異棵里,居然都是意外死亡,警方通過查閱死者的電腦和手機姐呐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門殿怜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人曙砂,你說我怎么就攤上這事头谜。” “怎么了麦轰?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵乔夯,是天一觀的道長。 經(jīng)常有香客問我款侵,道長末荐,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任新锈,我火速辦了婚禮甲脏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘妹笆。我一直安慰自己块请,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布拳缠。 她就那樣靜靜地躺著墩新,像睡著了一般。 火紅的嫁衣襯著肌膚如雪窟坐。 梳的紋絲不亂的頭發(fā)上海渊,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天绵疲,我揣著相機與錄音,去河邊找鬼臣疑。 笑死盔憨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的讯沈。 我是一名探鬼主播郁岩,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缺狠!你這毒婦竟也來了问慎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤挤茄,失蹤者是張志新(化名)和其女友劉穎蝴乔,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體驮樊,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡薇正,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了囚衔。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挖腰。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖练湿,靈堂內(nèi)的尸體忽然破棺而出猴仑,到底是詐尸還是另有隱情,我是刑警寧澤肥哎,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布辽俗,位于F島的核電站,受9級特大地震影響篡诽,放射性物質(zhì)發(fā)生泄漏崖飘。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一杈女、第九天 我趴在偏房一處隱蔽的房頂上張望朱浴。 院中可真熱鬧,春花似錦达椰、人聲如沸翰蠢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽梁沧。三九已至,卻和暖如春蝇裤,著一層夾襖步出監(jiān)牢的瞬間廷支,已是汗流浹背埃碱。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留酥泞,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓啃憎,卻偏偏與公主長得像芝囤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子辛萍,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容