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:在輸出的結尾多添加一個換行符。
接下來直接用代碼演示一下即可掌握。
package main
import "fmt"
func main() {
fmt.Print("單獨一行輸出信息")
name := "夢想橡皮擦"
fmt.Printf("博主:%s\n", name)
fmt.Println("帶換行的展示")
fmt.Printf("博主:%s\n", name)
}
輸出結果如下所示:
單獨一行輸出信息博主:夢想橡皮擦
帶換行的展示
博主:夢想橡皮擦
其中 Printf 中涉及格式化占位符相關之后,請看下文。
Fprint 函數(shù)
該函數(shù)以 F 開頭,基本可以確定其和文件操作有直接關系,在實踐中會發(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)先導入 os 包,用于操作文件,然后使用 os.OpenFile 創(chuàng)建一個文件對象,后續(xù)就可對文件對象進行內(nèi)容寫入。
Sprint 函數(shù)
該函數(shù)以 S 打頭,那必然和字符串有關,示例代碼如下所示:
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)容與具體場景有關系,直接使用,與普通字符串無太大差異。
?? 格式化占位符
在 Go 中只要函數(shù)名中攜帶了 printf,那就支持 format 格式化參數(shù),即占位符,下面我們對占位符進行一下基本說明。
通用部分
占位符都由 % 開頭,后跟具體類型。
%v:值默認形式;
%+v:輸出結構體會攜帶字段名;
%#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")
}
整型相關
與整型相關的占位符有:
%b:二進制展示;
%c:unicode 編碼展示;
%d:十進制;
%o:八進制;
%x:十六進制小寫;
%X:十六進制大寫;
%q:go 語法字符字面值。
本部分比較簡單,直接測試一下即可,在實踐中根據(jù)需要展示。
浮點數(shù)與復數(shù)
%b:去除小數(shù)部分,二進制指數(shù)的科學計數(shù)法;
%e:科學計數(shù)法,字母 e 小寫;
%E:同上,字母 e 大寫;
%f:展示小數(shù);
%F:同上;
%g:根據(jù)實際情況使用 %e 還是 %f。
布爾型和指針
%t:展示為 true 和 false;
%p:十六進制展示,并且前導加 ox。
?? 標準輸入
Go 語言 fmt 包下有 fmt.Scan,fmt.Scanf,fmt.Scanln 三個標準輸入函數(shù),用于獲取用戶輸入信息
fmt.Scan
該函數(shù)從標準輸入獲取文本,遇到換行符即表示獲取結束,簡單的示例代碼如下所示:
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ù)必須能與對應格式匹配。
fmt.Scanln
Scanln 類似 Scan,它在遇到換行時才停止掃描。
Fscan 和 Sscan 系列函數(shù)
以上幾個函數(shù)的功能類似于標準輸出中的用法,F(xiàn) 開頭的函數(shù)用于操作文件,S 開頭的函數(shù)表示從指定字符串中讀取數(shù)據(jù),到此這篇關于go語言標準庫fmt包的文章就介紹到這了更多關于go標準庫fmt包的資料請關注腳本之家其它相關文章!
相關文章
安裝GoLang環(huán)境和開發(fā)工具的圖文教程
Go是一門由Google開發(fā)的編程語言,GoLand的安裝非常簡單,本文主要介紹了安裝GoLang環(huán)境和開發(fā)工具的圖文教程,具有一定的參考價值,感興趣的可以了解一下2023-09-09

