Printf()、Sprintf()、Fprintf() 函數的區別用法是什么?
都是輸出格式化字符串,只是輸出到的目標不一樣:
Printf() 是把格式化字符串輸出到標准到標准輸出(一般是屏幕,可以重定向)
Printf() 是和標准輸出文件(stdout)關聯的,Fprintf 則沒有這個限制
Sprintf() 是把格式化字符串輸出到指定的字符串中,可以用一個變量來接受,然后在打印
Fprintf() 是把格式字符串輸出到指定的文件設備中,所以參數比Printf 多一個文件指針*File
主要用於文件操作,Fprintf() 是格式化輸出到一個 Stream ,通常是一個文件
下表格出了常用的一些格式化樣式中的動詞及功能。
| 動詞 | 功能 |
| %v | 按值的本來值輸出 |
| %+v | 在 %v 的基礎上,對結構體字段名和值進行展開 |
| %#v | 輸出 Go 語言語法格式的值 |
| %T | 輸出 Go 語言語法格式的類型和值 |
| %% | 輸出 %% 本體 |
| %b | 整型以二進制方式顯示 |
| %o | 整型以八進制方式顯示 |
| %d | 整型以十進制方式顯示 |
| %x | 整型以 十六進制顯示 |
| %X | 整型以十六進制、字母大寫方式顯示 |
| %U | Unicode 字符 |
| %f | 浮點數 |
| %p | 指針,十六進制方式顯示 |
