日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

go語言標準庫fmt包的一鍵入門_Golang

作者:夢想橡皮擦 ? 更新時間: 2022-09-26 編程語言

?? 實戰場景

本篇博客為大家帶來 Go 語言中的 fmt 包,該包實現了標準輸入和輸出兩大部分內容。

首先對外輸出,包含 PrintFprintSprintErrorof 等內容,其中 Print 在之前的博客中已經有所涉及,本篇我們將其細致的說明一下。

Print 系列函數

與 Print 系列同源的函數涉及 PrintfPrintln 等內容,其含義如下所示:

Print:直接輸出內容;

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 函數

該函數以 F 開頭,基本可以確定其和文件操作有直接關系,在實踐中會發現該函數會將內容輸出到 io.Writer ,測試代碼如下所示:

package main
import (
	"fmt"
	"os"
)
func main() {
	// 打開文件對象,并準確寫入內容
	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)
}

在編寫代碼前,注意優先導入 os 包,用于操作文件,然后使用 os.OpenFile 創建一個文件對象,后續就可對文件對象進行內容寫入。

Sprint 函數

該函數以 S 打頭,那必然和字符串有關,示例代碼如下所示:

package main
import (
	"fmt"
)
func main() {
	// Sprint 函數
	s1 := fmt.Sprint("橡皮擦")
	name := "橡皮擦"
	age := 18
	s2 := fmt.Sprintf("name:%s,age:%d", name, age)
	s3 := fmt.Sprintln("橡皮擦")
	fmt.Println(s1, s2, s3)
}

Sprint 系列函數會把傳入的數據生成一個字符串返回。

Errorf 函數

該函數根據 format 參數對字符串進行格式化并返回。

package main
import (
	"fmt"
)
func main() {
	err := fmt.Errorf("這是一個錯誤")
	fmt.Print(err)
}

該內容與具體場景有關系,直接使用,與普通字符串無太大差異。

?? 格式化占位符

在 Go 中只要函數名中攜帶了 printf,那就支持 format 格式化參數,即占位符,下面我們對占位符進行一下基本說明。

通用部分

占位符都由 % 開頭,后跟具體類型。

%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 語法字符字面值。

本部分比較簡單,直接測試一下即可,在實踐中根據需要展示。

浮點數與復數

%b:去除小數部分,二進制指數的科學計數法;

%e:科學計數法,字母 e 小寫;

%E:同上,字母 e 大寫;

%f:展示小數;

%F:同上;

%g:根據實際情況使用 %e 還是 %f

布爾型和指針

%t:展示為 true 和 false;

%p:十六進制展示,并且前導加 ox

?? 標準輸入

Go 語言 fmt 包下有 fmt.Scanfmt.Scanffmt.Scanln 三個標準輸入函數,用于獲取用戶輸入信息

fmt.Scan

該函數從標準輸入獲取文本,遇到換行符即表示獲取結束,簡單的示例代碼如下所示:

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

在獲取數據時,可以使用 format 參數,而且要求輸入的數據必須能與對應格式匹配。

fmt.Scanln

Scanln 類似 Scan,它在遇到換行時才停止掃描。

Fscan 和 Sscan 系列函數

原文鏈接:https://juejin.cn/post/7126440999357775902

欄目分類
最近更新