fmt包的使用
fmt包的使用
功能:fmt包實現了類似C語言printf和scanf的格式化I/O。格式化動作('verb')源自C語言但更簡單
函式系列
-
字首
標準:表示從標準輸入讀取,或者輸出到標準輸出
F字首:表示從指定的io.Reader介面讀取文字,或者寫入指定的io.Writer介面型別物件
S字首:表示從文字引數讀取字串,或者生成的字串並返回該字串 -
字尾
f字尾:格式化
ln字尾:使用預設格式化
1、列印格式
2、Stringer 介面
實現了Stringer介面的型別(即有String方法),定義了該型別值的原始顯示。當採用任何接受字元的verb(%v %s %q %x %X)動作格式化一個運算元時,或者被不使用格式字串如Print函式列印運算元時,會呼叫String方法來生成輸出的文字
3、GoStringer 介面
實現了GoStringer介面的型別(即有GoString方法),定義了該型別值的go語法表示。當採用verb %#v格式化一個運算元時,會呼叫GoString方法來生成輸出的文字。
4、Formatter 介面
實現了Formatter介面的型別可以定製自己的格式化輸出。Format方法的實現內部可以呼叫Sprint或Fprint等函式來生成自身的輸出
5、Scanner 和 ScanState 介面
當Scan、Scanf、Scanln或類似函式接受實現了Scanner介面的型別(其Scan方法的receiver必須是指標,該方法從輸入讀取該型別值的字串表示並將結果寫入receiver)作為引數時,會呼叫其Scan方法進行定製的掃描
ScanState代表一個將傳遞給Scanner介面的Scan方法的掃描環境。 Scan函式中,可以進行一次一個rune的掃描,或者使用Token方法獲得下一個token(比如空白分隔的token)
6、Scanning
一系列類似的函式可以掃描格式化文字以生成值
a、Scan、Scanf和Scanln從標準輸入os.Stdin讀取文字
b、Fscan、Fscanf、Fscanln從指定的io.Reader介面讀取文字
c、Sscan、Sscanf、Sscanln從一個引數字串讀取文字,會在讀取到換行時
7、scan系列函式
func Scan(a ...interface{}) (n int, err error) //Scan從標準輸入掃描文字,將成功讀取的空白分隔的值儲存進成功傳遞給本函式的引數。換行視為空白。返回成功掃描的條目個數和遇到的任何錯誤。如果讀取的條目比提供的引數少,會返回一個錯誤報告原因
func Scanf(format string, a ...interface{}) (n int, err error) //Scanf從標準輸入掃描文字,根據format 引數指定的格式將成功讀取的空白分隔的值儲存進成功傳遞給本函式的引數。返回成功掃描的條目個數和遇到的任何錯誤
func Scanln(a ...interface{}) (n int, err error) //Scanln類似Scan,但會在換行時才停止掃描。最後一個條目後必須有換行或者到達結束位置。
func Fscan(r io.Reader, a ...interface{}) (n int, err error) //Fscan從r掃描文字,將成功讀取的空白分隔的值儲存進成功傳遞給本函式的引數。換行視為空白。返回成功掃描的條目個數和遇到的任何錯誤。如果讀取的條目比提供的引數少,會返回一個錯誤報告原因
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error) //Fscanf從r掃描文字,根據format 引數指定的格式將成功讀取的空白分隔的值儲存進成功傳遞給本函式的引數。返回成功掃描的條目個數和遇到的任何錯誤
func Fscanln(r io.Reader, a ...interface{}) (n int, err error) //Fscanln類似Fscan,但會在換行時才停止掃描。最後一個條目後必須有換行或者到達結束位置
func Sscan(str string, a ...interface{}) (n int, err error) //Sscan從字串str掃描文字,將成功讀取的空白分隔的值儲存進成功傳遞給本函式的引數。換行視為空白。返回成功掃描的條目個數和遇到的任何錯誤。如果讀取的條目比提供的引數少,會返回一個錯誤報告原因
func Sscanf(str string, format string, a ...interface{}) (n int, err error) //Sscanf從字串str掃描文字,根據format 引數指定的格式將成功讀取的空白分隔的值儲存進成功傳遞給本函式的引數。返回成功掃描的條目個數和遇到的任何錯誤
func Scanln(a ...interface{}) (n int, err error) //Scanln類似Scan,但會在換行時才停止掃描。最後一個條目後必須有換行或者到達結束位置。
8、print系列函式
func Print(a ...interface{}) (n int, err error) //Print採用預設格式將其引數格式化並寫入標準輸出。如果兩個相鄰的引數都不是字串,會在它們的輸出之間新增空格。返回寫入的位元組數和遇到的任何錯誤
func Printf(format string, a ...interface{}) (n int, err error) //Printf根據format引數生成格式化的字串並寫入標準輸出。返回寫入的位元組數和遇到的任何錯誤
func Println(a ...interface{}) (n int, err error) //rintln採用預設格式將其引數格式化並寫入標準輸出。總是會在相鄰引數的輸出之間新增空格並在輸出結束後新增換行符。返回寫入的位元組數和遇到的任何錯誤
func Fprint(w io.Writer, a ...interface{}) (n int, err error) //Fprint採用預設格式將其引數格式化並寫入w。如果兩個相鄰的引數都不是字串,會在它們的輸出之間新增空格。返回寫入的位元組數和遇到的任何錯誤
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) //Fprintf根據format引數生成格式化的字串並寫入w。返回寫入的位元組數和遇到的任何錯誤
func Fprintln(w io.Writer, a ...interface{}) (n int, err error) //Fprintln採用預設格式將其引數格式化並寫入w。總是會在相鄰引數的輸出之間新增空格並在輸出結束後新增換行符。返回寫入的位元組數和遇到的任何錯誤
func Sprint(a ...interface{}) string //Sprint採用預設格式將其引數格式化,串聯所有輸出生成並返回一個字串。如果兩個相鄰的引數都不是字串,會在它們的輸出之間新增空格
func Sprintf(format string, a ...interface{}) string //Sprintf根據format引數生成格式化的字串並返回該字串
func Sprintln(a ...interface{}) string //Sprintln採用預設格式將其引數格式化,串聯所有輸出生成並返回一個字串。總是會在相鄰引數的輸出之間新增空格並在輸出結束後新增換行符
相關文章
- 標準庫 fmt 包的基本使用
- fmt包String(),Error(),Format(),GoString()的介面實現ErrorORMGo
- golang的fmt包String(),Error(),Format(),GoString()的介面實現GolangErrorORM
- 編譯靜態庫的方式使用spdlog和fmt編譯
- 簡單介紹標準庫fmt的基本使用
- fmt:formatNumber 用法ORM
- golang 中fmt用法Golang
- Go 常用標準庫之 fmt 介紹與基本使用Go
- golang標準庫之 fmtGolang
- FMT/FWT學習筆記筆記
- golang fmt 格式 “佔位符”Golang
- Nodemon包的使用
- Go標準包——net/rpc包的使用GoRPC
- 格式化字串(summer2024_fmt)字串
- 每日一個 Golang Packages 06/12 fmtGolangPackage
- Go | 閉包的使用Go
- net/rpc包的使用RPC
- 包裝類的使用
- npm包:moment的使用NPM
- 二、Go語言基礎:go install與go fmt命令使用示例詳解Go
- 邏輯、集合運算上的卷積一覽(FMT、FWT,……)卷積
- gitmoji表情包使用--github的專屬表情包Github
- 使用PyCharm引入需要使用的包PyCharm
- Linux基礎命令—文字格式轉換fmtLinux
- Linux基礎命令---文字格式轉換fmtLinux
- 閉包的錯誤使用
- flag 包使用
- Composer 包使用
- js閉包及閉包的經典使用場景JS
- 最安全的PMEER錢包,PMEER冷錢包使用教程
- 最安全的SRM錢包,SRM冷錢包使用教程
- Javaparse包的使用和講解Java
- JS閉包的簡易使用JS
- npm包serve的簡單使用NPM
- 使用JSPWiki豐富Unity-UPM包的使用JSUnity
- Go語言中fmt.Println(true)的結果一定是true麼?Go
- critters 開發包的使用案例分享
- 關於GJSON包的簡單使用JSON