golang?Strings包使用總結(jié)
golang Strings包使用問(wèn)題
最近做筆試題的時(shí)候經(jīng)常會(huì)碰到輸入花了很久時(shí)間的問(wèn)題,就想記錄一下。
這個(gè)對(duì)做字符串類型的題有極大的幫助。
Strings包
package main
import (
"fmt"
"strings"
)
func main() {
// 判斷一個(gè)字符串是否在另一個(gè)字符串中
contains := strings.Contains("substr", "s")
fmt.Println(contains) // true
// 判斷一個(gè)字符串是否存在另一個(gè)字符串的任意字符
any := strings.ContainsAny("kaka", "nihao")
fmt.Println(any) // true
// 把一個(gè)字符串轉(zhuǎn)小寫
lower := strings.ToLower("KAKA")
fmt.Println(lower) // kaka
// 把一個(gè)字符串轉(zhuǎn)大寫
upper := strings.ToUpper("kaka")
fmt.Println(upper) // kaka
//判斷兩個(gè)字符串是否相同(無(wú)視大小寫)
equal := strings.EqualFold("hello", "Hello")
fmt.Println(equal) //true
//判斷是否含有前綴,區(qū)分大小寫
prefix := strings.HasPrefix("hello", "he")
fmt.Println(prefix) //true
//判斷是否含有后綴,區(qū)分大小寫
suffix := strings.HasSuffix("hello", "llo")
fmt.Println(suffix) //true
//統(tǒng)計(jì)子串出現(xiàn)的次數(shù)
count := strings.Count("hello", "l")
fmt.Println(count) //2
// 判斷一個(gè)字符串在另一個(gè)字符串第一次出現(xiàn)的位置,不存在返回-1
index := strings.Index("Hello World", "or")
fmt.Println(index) // 7
//判斷一個(gè)字符串中的任意一個(gè)字符在另一個(gè)字符串第一次出現(xiàn)的位置,不存在返回-1
indexany := strings.IndexAny("hello", "abcde")
fmt.Println(indexany) //1
//判斷一個(gè)字符串最后出現(xiàn)的位置,不存在返回-1 同樣有any不再贅述
lastindex := strings.LastIndexAny("hello", "l")
fmt.Println(lastindex)
//替換
replace := strings.Replace("hello", "h", "k", -1)
fmt.Println(replace) //kello
//去掉前后端的指定字符
trim := strings.Trim("!!hel!lo!", "!")
fmt.Println(trim) //hel!lo
//去掉指定前綴
trimprefix := strings.TrimPrefix("hello", "he")
fmt.Println(trimprefix) //llo
//去掉指定后綴
trimsuffix := strings.TrimSuffix("hello", "llo")
fmt.Println(trimsuffix) //he
//按照空格切分字符串,返回切片
field := strings.Fields("i am jack")
fmt.Println(field) //[i am jack]
//按照指定字符分割字符串,返回切片
split := strings.Split("hello,i am jack", ",")
fmt.Println(split) //[hello i am jack]
//按照指定字符分割字符串,分割至指定位置,返回切片
splitN := strings.SplitN("hello,i,am,jack", ",", 2)
fmt.Println(splitN) //[hello i,am,jack]
//不去掉,帶著逗號(hào)分割
splitafter := strings.SplitAfter("hello,i,am,jack", ",")
fmt.Println(splitafter) //[hello, i, am, jack]
//將字符串切片合并成一個(gè)字符串,可以插入指定分隔符
join := strings.Join([]string{"I", "am", "jack"}, ",")
fmt.Println(join) //I.am.jack
//拼接字符串
var build strings.Builder
build.WriteString("abc")
build.WriteByte(65)
fmt.Println(build.String()) //abcA
}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Go語(yǔ)言構(gòu)建RESTful API服務(wù)
在實(shí)際開發(fā)項(xiàng)目中,你編寫的服務(wù)可以被其他服務(wù)使用,這樣就組成了微服務(wù)的架構(gòu);也可以被前端調(diào)用,這樣就可以前后端分離。那么,本文主要介紹什么是 RESTful API,以及 Go 語(yǔ)言是如何玩轉(zhuǎn) RESTful API 的2021-07-07
k8s容器互聯(lián)-flannel?host-gw原理篇
這篇文章主要為大家介紹了k8s容器互聯(lián)-flannel?host-gw原理篇,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
詳解GO語(yǔ)言中[]byte與string的兩種轉(zhuǎn)換方式和底層實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了GO語(yǔ)言中[]byte與string的兩種轉(zhuǎn)換方式和底層實(shí)現(xiàn)的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下2024-03-03
Golang 實(shí)現(xiàn)Socket服務(wù)端和客戶端使用TCP協(xié)議通訊
這篇文章主要介紹了Golang 實(shí)現(xiàn)Socket服務(wù)端和客戶端使用TCP協(xié)議通訊,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12
從基礎(chǔ)到高級(jí)全方位解析Go中反射的應(yīng)用
本文我們將全面深入地探討Go語(yǔ)言的反射機(jī)制,從反射的基礎(chǔ)概念、為什么需要反射,到如何在Go中實(shí)現(xiàn)反射,以及在高級(jí)編程場(chǎng)景如泛型編程和插件架構(gòu)中的應(yīng)用,需要的可以參考下2023-10-10
Go?語(yǔ)言數(shù)據(jù)結(jié)構(gòu)如何實(shí)現(xiàn)抄一個(gè)list示例詳解
這篇文章主要為大家介紹了Go?語(yǔ)言數(shù)據(jù)結(jié)構(gòu)如何實(shí)現(xiàn)抄一個(gè)list示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Go使用sync.Map來(lái)解決map的并發(fā)操作問(wèn)題
在 Golang 中 map 不是并發(fā)安全的,sync.Map 的引入確實(shí)解決了 map 的并發(fā)安全問(wèn)題,本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2021-10-10

