日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

c语言fmt,Go 标准库-fmt

發布時間:2024/7/23 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言fmt,Go 标准库-fmt 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡介

fmt包實現了類似C語言printf和scanf的格式化I/O。格式化動作(’verb’)源自C語言但更簡單。

占位符:// 通用verbs

%v  值的默認格式

%+v  類似%v,但輸出結構體時會添加字段名

%#v    Go語法表示值

%T    Go語法表示類型

%%   百分號表示

// 浮點數

%t   true或false

// 整數

%b 表示二進制

%c 該值對應的unicode嗎值

%d 表示十進制

%o 表示八進制

%q 該值對應的單引號括起來的go語法字符字面值,必要時會采用安全的轉義表示

%x 表示為十六進制,使用a-f

%X 表示為十六進制,使用A-F

%U 表示為Unicode格式:U+1234,等價于”U+%04X”

// 浮點數與復數

%b 無小數部分、二進制指數的科學計數法,如-123456p-78;參見strconv.FormatFloat

%e 科學計數法,例如 -1234.456e+78

%E 科學計數法,例如 -1234.456E+78

%f 有小數點而無指數,例如 123.456

%F 等價于%f

%g 根據實際情況采用%e或%f格式(以獲得更簡潔、準確的輸出)

%G 根據實際情況采用%E或%F格式(以獲得更簡潔、準確的輸出

// string與[]byte

%s 輸出字符串表示(string類型或[]byte)

%q 雙引號圍繞的字符串,由Go語法安全地轉義

%x 十六進制,小寫字母,每字節兩個字符 (使用a-f)

%X 十六進制,大寫字母,每字節兩個字符 (使用A-F)

// Slice

%p 切片第一個元素的指針

// point

%p 十六進制內存地址,前綴ox

運行的代碼

package main

import (

"fmt"

)

type Sample struct {

num int

str string

}

func main() {

s := Sample{num: 1, str: "a"}

// 值的默認格式

fmt.Printf("%v\n", s) // {1 a}

// 類似%v,但輸出結構體時會添加字段名

fmt.Printf("%+v\n", s) // {num:1 str:a}

// Go語法表示值

fmt.Printf("%#v\n", s) // main.Sample{num:1, str:"a"}

// Go語法表示類型

fmt.Printf("%T\n", s) // main.Sample

// 百分號表示

fmt.Printf("%v%%\n", s.num) // 1%

// true或false

fmt.Printf("%t\n", true) //true

// 二進制

fmt.Printf("%b\n", 8) //1000

// 該值對應的unicode碼值

fmt.Printf("%c\n", 0x4E2D) //中

// 十進制

fmt.Printf("%d\n", 0x11) //17

// 八進制

fmt.Printf("%o\n", 20) //24

// 該值對應的單引號括起來的go語法字符字面值,必要時會采用安全的轉義表示

fmt.Printf("%q\n", 0x4E2D) //'中'

// 為十六進制,使用a-f

fmt.Printf("%x\n", 15) //f

// 十六進制,使用A-F

fmt.Printf("%X\n", 15) //F

// 表示為Unicode格式:U+1234,等價于”U+%04X”

fmt.Printf("%U\n", 0x4E2D) //U+4E2D

fmt.Printf("%b\n", 10.45) //5882827013252710p-49

fmt.Printf("%e\n", 10.45) //1.045000E+01

fmt.Printf("%E\n", 10.45) //1.045000E+01

fmt.Printf("%f\n", 10.45) //10.450000

fmt.Printf("%F\n", 10.45) //10.450000

fmt.Printf("%g\n", 10.45) //10.45

fmt.Printf("%G\n", 10.45) //10.45

fmt.Printf("%s\n", []byte("go開發")) //go開發

fmt.Printf("%s\n", "go開發") //go開發

fmt.Printf("%q\n", "go開發") //"go開發"

fmt.Printf("%x\n", "go開發") //676fe5bc80e58f91

fmt.Printf("%X\n", "go開發") //676FE5BC80E58F91

str := "go開發"

fmt.Printf("%p\n", &str) //0xc42000e1e0

}

fmt.Printf

Printf根據format參數生成格式化的字符串并寫入標準輸出os.stdout。返回寫入的字節數和遇到的任何錯誤。

fmt.Fprintf

Fprintf根據format參數生成格式化的字符串并寫入w。返回寫入的字節數和遇到的任何錯誤。

fmt.Sprintf

Sprintf根據format參數生成格式化的字符串并返回該字符串。

fmt.Print

Print采用默認格式將其參數格式化并寫入標準輸出。如果兩個相鄰的參數都不是字符串,會在它們的輸出之間添加空格。返回寫入的字節數和遇到的任何錯誤。

ftm.Fprint

Fprint采用默認格式將其參數格式化并寫入w。如果兩個相鄰的參數都不是字符串,會在它們的輸出之間添加空格。返回寫入的字節數和遇到的任何錯誤。

ftm.Sprint

Sprint采用默認格式將其參數格式化,串聯所有輸出生成并返回一個字符串。如果兩個相鄰的參數都不是字符串,會在它們的輸出之間添加空格。

ftm.Println

Println采用默認格式將其參數格式化并寫入標準輸出。總是會在相鄰參數的輸出之間添加空格并在輸出結束后添加換行符。返回寫入的字節數和遇到的任何錯誤。

ftm.Fprintln

Fprintln采用默認格式將其參數格式化并寫入w。總是會在相鄰參數的輸出之間添加空格并在輸出結束后添加換行符。返回寫入的字節數和遇到的任何錯誤。

ftm.Sprintln

Sprintln采用默認格式將其參數格式化,串聯所有輸出生成并返回一個字符串。總是會在相鄰參數的輸出之間添加空格并在輸出結束后添加換行符。

ftm.Errorf

Errorf根據format參數生成格式化字符串并返回一個包含該字符串的錯誤。

package main

import (

"bufio"

"fmt"

"log"

"os"

)

func main() {

fmt.Printf("測試方法:%s\n", "Printf")

writer := bufio.NewWriter(os.Stdout)

fmt.Fprintf(writer, "測試方法:%s\n", "Fprintf") //等價于直接使用Printf,因為指定將值輸出到標準輸出

writer.Flush()

file, err := os.Create("testFmt.txt")

if err != nil {

log.Fatal(err)

}

defer file.Close()

writer1 := bufio.NewWriter(file)

_, err = fmt.Fprintf(writer1, "測試方法:%s\n", "Fprintf")

if err != nil {

log.Fatal(err)

}

prompt := "測試方法:%s\n"

prompt = fmt.Sprintf(prompt, "Sprintf", 4)

//串聯輸入的字符串參數,如果并不是都是字符串,則用空格將其分隔

fmt.Println(prompt)

fmt.Print(prompt, "\n") //兩者的區別在于Println會自動換行,而Print不會

//串聯所有輸出生成并返回一個字符串。如果兩個相鄰的參數都不是字符串,會在它們的輸出之間添加空格

prompt1 := fmt.Sprint("測試", "Sprint", ", 方法 ", 5, "fmt")

fmt.Println(prompt1)

fmt.Fprintln(writer1, "測試", "Fprintln", ", 方法 ", 6, "fmt")

writer1.Flush()

prompt2 := fmt.Sprintln("測試", "Sprintln", ", 方法 ", 7, " fmt")

fmt.Println(prompt2)

err = fmt.Errorf("測試方法: %s ", "Errorf")

if err != nil {

log.Fatal(err)

}

}

總結

以上是生活随笔為你收集整理的c语言fmt,Go 标准库-fmt的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。