go語言標準庫fmt包的一鍵入門
?? 實戰(zhàn)場景
本篇博客為大家?guī)?Go 語言中的 fmt 包,該包實現(xiàn)了標準輸入和輸出兩大部分內(nèi)容。
首先對外輸出,包含 Print
,Fprint
,Sprint
,Errorof
等內(nèi)容,其中 Print
在之前的博客中已經(jīng)有所涉及,本篇我們將其細致的說明一下。
Print 系列函數(shù)
與 Print 系列同源的函數(shù)涉及 Printf
,Println
等內(nèi)容,其含義如下所示:
Print
:直接輸出內(nèi)容;
Printf
:格式化輸出字符串;
Println
:在輸出的結(jié)尾多添加一個換行符。
接下來直接用代碼演示一下即可掌握。
package main import "fmt" func main() { fmt.Print("單獨一行輸出信息") name := "夢想橡皮擦" fmt.Printf("博主:%s\n", name) fmt.Println("帶換行的展示") fmt.Printf("博主:%s\n", name) }
輸出結(jié)果如下所示:
單獨一行輸出信息博主:夢想橡皮擦
帶換行的展示
博主:夢想橡皮擦
其中 Printf
中涉及格式化占位符相關(guān)之后,請看下文。
Fprint 函數(shù)
該函數(shù)以 F 開頭,基本可以確定其和文件操作有直接關(guān)系,在實踐中會發(fā)現(xiàn)該函數(shù)會將內(nèi)容輸出到 io.Writer
,測試代碼如下所示:
package main import ( "fmt" "os" ) func main() { // 打開文件對象,并準確寫入內(nèi)容 fileObj, err := os.OpenFile("./ca.txt", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644) if err != nil { fmt.Println("文件異常:", err) return } name := "夢想橡皮擦" fmt.Fprintf(fileObj, "姓名:%s", name) }
在編寫代碼前,注意優(yōu)先導(dǎo)入 os
包,用于操作文件,然后使用 os.OpenFile
創(chuàng)建一個文件對象,后續(xù)就可對文件對象進行內(nèi)容寫入。
Sprint 函數(shù)
該函數(shù)以 S
打頭,那必然和字符串有關(guān),示例代碼如下所示:
package main import ( "fmt" ) func main() { // Sprint 函數(shù) s1 := fmt.Sprint("橡皮擦") name := "橡皮擦" age := 18 s2 := fmt.Sprintf("name:%s,age:%d", name, age) s3 := fmt.Sprintln("橡皮擦") fmt.Println(s1, s2, s3) }
Sprint
系列函數(shù)會把傳入的數(shù)據(jù)生成一個字符串返回。
Errorf 函數(shù)
該函數(shù)根據(jù) format 參數(shù)對字符串進行格式化并返回。
package main import ( "fmt" ) func main() { err := fmt.Errorf("這是一個錯誤") fmt.Print(err) }
該內(nèi)容與具體場景有關(guān)系,直接使用,與普通字符串無太大差異。
?? 格式化占位符
在 Go 中只要函數(shù)名中攜帶了 printf
,那就支持 format 格式化參數(shù),即占位符,下面我們對占位符進行一下基本說明。
通用部分
占位符都由 %
開頭,后跟具體類型。
%v
:值默認形式;
%+v
:輸出結(jié)構(gòu)體會攜帶字段名;
%#v
:用 Go 的語法表示值;
%T
:值類型;
%%
:打印符號 %
。
可以使用下述代碼進行測試:
package main import ( "fmt" ) func main() { fmt.Printf("%v\n", 60) fmt.Printf("%v\n", "橡皮擦") o := struct{ name string }{"橡皮擦"} fmt.Printf("%v\n", o) fmt.Printf("%#v\n", o) fmt.Printf("%T\n", o) fmt.Printf("60%%\n") }
整型相關(guān)
與整型相關(guān)的占位符有:
%b
:二進制展示;
%c
:unicode 編碼展示;
%d
:十進制;
%o
:八進制;
%x
:十六進制小寫;
%X
:十六進制大寫;
%q
:go 語法字符字面值。
本部分比較簡單,直接測試一下即可,在實踐中根據(jù)需要展示。
浮點數(shù)與復(fù)數(shù)
%b
:去除小數(shù)部分,二進制指數(shù)的科學(xué)計數(shù)法;
%e
:科學(xué)計數(shù)法,字母 e
小寫;
%E
:同上,字母 e
大寫;
%f
:展示小數(shù);
%F
:同上;
%g
:根據(jù)實際情況使用 %e
還是 %f
。
布爾型和指針
%t
:展示為 true 和 false;
%p
:十六進制展示,并且前導(dǎo)加 ox
。
?? 標準輸入
Go 語言 fmt 包下有 fmt.Scan
,fmt.Scanf
,fmt.Scanln
三個標準輸入函數(shù),用于獲取用戶輸入信息
fmt.Scan
該函數(shù)從標準輸入獲取文本,遇到換行符即表示獲取結(jié)束,簡單的示例代碼如下所示:
package main import ( "fmt" ) func main() { var ( name string age int ) fmt.Scan(&name, &age) fmt.Printf("獲取用戶輸入 name:%s age:%d \n", name, age) }
fmt.Scanf
在獲取數(shù)據(jù)時,可以使用 format
參數(shù),而且要求輸入的數(shù)據(jù)必須能與對應(yīng)格式匹配。
fmt.Scanln
Scanln
類似 Scan
,它在遇到換行時才停止掃描。
Fscan 和 Sscan 系列函數(shù)
以上幾個函數(shù)的功能類似于標準輸出中的用法,F(xiàn) 開頭的函數(shù)用于操作文件,S 開頭的函數(shù)表示從指定字符串中讀取數(shù)據(jù),到此這篇關(guān)于go語言標準庫fmt包的文章就介紹到這了更多關(guān)于go標準庫fmt包的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
go語言實現(xiàn)一個最簡單的http文件服務(wù)器實例
這篇文章主要介紹了go語言實現(xiàn)一個最簡單的http文件服務(wù)器的方法,實例分析了Go語言操作http的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03Golang編程實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法
這篇文章主要介紹了Golang編程實現(xiàn)刪除字符串中出現(xiàn)次數(shù)最少字符的方法,涉及Go語言字符串遍歷與運算相關(guān)操作技巧,需要的朋友可以參考下2017-01-01Go結(jié)合Gin導(dǎo)出Mysql數(shù)據(jù)到Excel表格
本文主要介紹了Go結(jié)合Gin導(dǎo)出Mysql數(shù)據(jù)到Excel表格,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08