一文帶你了解Go語言fmt標(biāo)準(zhǔn)庫(kù)輸出函數(shù)的使用
fmt 輸出函數(shù)
| 函數(shù) | 描述 |
|---|---|
| Fprint(w io.Writer, a ...any) (n int, err error) | 使用默認(rèn)格式將參數(shù)寫入到 w 中,如果相鄰兩個(gè)參數(shù)都不是字符串,則在它們之前添加空格 |
| Fprintf(w io.Writer, format string, a ...any) (n int, err error) | 根據(jù)格式說明符進(jìn)行格式化,并寫入到 w 中 |
| Fprintln(w io.Writer, a ...any) (n int, err error) | 使用默認(rèn)格式將參數(shù)寫入到 w 中,參數(shù)之間添加空格和換行符 |
| Print(a ...any) (n int, err error) | 打印指定參數(shù),如果相鄰兩個(gè)參數(shù)都不是字符串,打印時(shí)用空格隔開 |
| Printf(format string, a ...any) (n int, err error) | 根據(jù)格式說明符進(jìn)行格式化并打印 |
| Println(a ...any) (n int, err error) | 打印指定參數(shù),參數(shù)之間用空格和換行符分隔 |
| Sprint(a ...any) string | 將參數(shù)按照默認(rèn)格式進(jìn)行格式化,如果相鄰兩個(gè)參數(shù)都不是字符串則在其中間添加空格,并以字符串的結(jié)果返回 |
| Sprintf(format string, a ...any) string | 根據(jù)格式說明符進(jìn)行格式化并以字符串的結(jié)果返回 |
| Sprintln(a ...any) string | 將參數(shù)按照默認(rèn)格式進(jìn)行格式化,參數(shù)之間添加空格和換行符,并以字符串的結(jié)果返回 |
Fprint、Fprintf、Fprintln
import (
"fmt"
"os"
)
func main() {
file, err := os.OpenFile("./test.txt", os.O_WRONLY, 0666)
if err != nil {
return
}
defer file.Close()
fmt.Fprint(file, "123")
fmt.Fprintln(file, "456")
fmt.Fprintf(file, "%d", 789)
}打開 test.txt 文件,通過 Fprint 函數(shù)先將 123 寫入到文件里;
然后通過 Fprintln 函數(shù)將 456 寫入到文件里并換行;
最后通過 Fprintf 函數(shù)將 789 格式化輸出到文件里。
程序運(yùn)行后文件的內(nèi)容為:
123456
789
Print、Printf、Println
import (
"fmt"
)
func main() {
fmt.Print("Hello, ")
fmt.Println("World!")
s := "golang!"
fmt.Printf("Hello, %s", s)
}首先通過 Print 函數(shù)打印 Hello, ;
然后通過 Println 函數(shù)打印 Wrold! 并換行,與上面打印的語句連起來,一行的打印內(nèi)容為 Hello, World!;
最后通過 Printf 函數(shù),進(jìn)行格式化打印。
最終的打印結(jié)果為:
Hello, World!
Hello, golang!
Sprint、Sprintf、Sprintln
import (
"fmt"
)
func main() {
s1 := fmt.Sprint("hello, world!")
fmt.Printf("%#v\n", s1)
s2 := fmt.Sprintln("hello, gopher!")
fmt.Printf("%#v\n", s2)
name := "小明"
s3 := fmt.Sprintf("hello, %s", name)
fmt.Printf("%#v\n", s3)
}- 通過
Sprint將指定內(nèi)容轉(zhuǎn)成默認(rèn)格式的字符串并用變量s1接收,通過占位符%#v打印出s1的原生內(nèi)容 →"hello, world!"; - 通過
Sprintln將指定內(nèi)容轉(zhuǎn)成默認(rèn)格式的字符串并添加換行符,用變量s2接收,通過占位符%#v打印出s2的原生內(nèi)容 →"hello, gopher!\n"; - 通過
Sprintf將指定內(nèi)容轉(zhuǎn)成指定格式的字符串并用變量s3接收,通過占位符%#v打印出s3的原生內(nèi)容 →"hello, 小明"。 - 如果對(duì)占位符不是很了解的小伙伴,可以查看我的這篇文章 一文了解 Go fmt 標(biāo)準(zhǔn)庫(kù)的常用占位符及其簡(jiǎn)單使用 。
小結(jié)
本篇文章對(duì) fmt 標(biāo)準(zhǔn)庫(kù)的常用輸出函數(shù)進(jìn)行了介紹。輸出函數(shù)分三類介紹,第一類是輸出到輸出流里,第二類是標(biāo)準(zhǔn)輸出,第三類是輸出到字符串里。并給出簡(jiǎn)單的示例代碼。
到此這篇關(guān)于一文帶你了解Go語言fmt標(biāo)準(zhǔn)庫(kù)輸出函數(shù)的使用的文章就介紹到這了,更多相關(guān)Go語言fmt標(biāo)準(zhǔn)庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Golang多線程排序?qū)崿F(xiàn)快速高效地處理大規(guī)模數(shù)據(jù)
Golang多線程排序是一種快速高效地處理大規(guī)模數(shù)據(jù)的方法,通過使用Golang的協(xié)程和通道,可以將排序任務(wù)分配到多個(gè)線程中并行處理,提高了排序的效率和速度,需要詳細(xì)了解可以參考下文2023-05-05
使用Golang?Validator包實(shí)現(xiàn)數(shù)據(jù)驗(yàn)證詳解
在開發(fā)過程中,數(shù)據(jù)驗(yàn)證是一個(gè)非常重要的環(huán)節(jié),而golang中的Validator包是一個(gè)非常常用和強(qiáng)大的數(shù)據(jù)驗(yàn)證工具,提供了簡(jiǎn)單易用的API和豐富的驗(yàn)證規(guī)則,下面我們就來看看Validator包的具體使用吧2023-12-12
Golang中由零值和gob庫(kù)特性引起B(yǎng)UG解析
這篇文章主要為大家介紹了Golang中由零值和gob庫(kù)特性引起B(yǎng)UG解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
解決goland 導(dǎo)入項(xiàng)目后import里的包報(bào)紅問題
這篇文章主要介紹了解決goland 導(dǎo)入項(xiàng)目后import里的包報(bào)紅問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-05-05
golang接口實(shí)現(xiàn)調(diào)用修改(值接收者指針接收者)場(chǎng)景詳解
這篇文章主要為大家介紹了golang接口實(shí)現(xiàn)調(diào)用修改值接收者指針接收者示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08

