★strings | strings包實(shí)現(xiàn)了用于操作字符的簡單函數(shù).
★text | scanner對utf-8文本的token掃描服務(wù)秸歧,tabwriter縮進(jìn)修正
★unicode | unicode 包提供了一些測試Unicode碼點(diǎn)屬性的數(shù)據(jù)和函數(shù).
三個都和string有關(guān)串塑,放一塊康一康:
string:
strings包實(shí)現(xiàn)了用于操作字符的簡單函數(shù):
- 分割飒硅,按空格分割
- 比較(模糊相等蕊唐、包含、包含任意字符)
- 計數(shù)
- 索引(首次、末次)
- 替換邦泄,首尾Trim
- 格式化(全小寫,全大寫裂垦,首字母大寫)
- 字符串連接虎韵,構(gòu)造重復(fù)字符串
- 遍歷
- 定義個一個strings.Read結(jié)構(gòu)體,實(shí)現(xiàn)了io.Reader
text:
text包含三個子包:
scanner:scanner包提供了功能強(qiáng)大的
scanner.Scanner
對象以對utf-8文本的token進(jìn)行掃描服務(wù):
它會從一個io.Reader獲取utf-8文本缸废,通過對Scan方法的重復(fù)調(diào)用獲取一個個token。為了兼容已有的工具,NUL字符不被接受企量。如果第一個字符是表示utf-8編碼格式的BOM標(biāo)記测萎,會自動忽略該標(biāo)記。
參見:https://studygolang.com/static/pkgdoc/pkg/text_scanner.htm-
tabwriter:tabwriter包實(shí)現(xiàn)了寫入過濾器(tabwriter.Writer)届巩,可以將輸入的縮進(jìn)修正為正確的對齊文本. (可以把
\t
變成規(guī)整易讀的樣式
func NewWriter(output io.Writer, minwidth, tabwidth, padding int, padchar byte, flags uint) *Writer
將一個Writer封裝好硅瞧,并對其每次輸輸出進(jìn)行過濾加空格,參數(shù)解釋:- output:要封裝的輸出句柄
- minwidth:最小單元長度
- tabwidth:tab字符的寬度
- padding:單元格額外內(nèi)邊距
- padchar:用于填充的ASCII字符
- flags:格式化控制恕汇,用或運(yùn)算符連接
參見:https://studygolang.com/static/pkgdoc/pkg/text_tabwriter.htm
- template:template包實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動的用于生成文本輸出的模板.
HTML生成類似于html/template但不安全腕唧。
模板語法參見:https://studygolang.com/static/pkgdoc/pkg/text_template.htm
unicode:
unicode包實(shí)現(xiàn)了用于操作和判別rune的一堆簡單函數(shù):
- 轉(zhuǎn)碼
- 格式化(全小寫,全大寫瘾英,首字母大寫)
- 判別(是否大寫枣接,是否小寫,是否數(shù)字缺谴,是否圖畫字符
- SimpleFold循環(huán)映射但惶?即"a"->"A"->"a"
unicode包下面還包括utf-8和utf-16包,包內(nèi)包含了編碼解碼還有一些判別函數(shù)