老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

go語言%f代表什么,函數gof是什么意思

c語言%f

比如%7.2f 點前面的7代表輸出的數的寬度,也就是位數~包括小數點后的數字;點后的2代表小數點后面的數字的個數;,一般只寫成%.2f,比如

為城口等地區用戶提供了全套網頁設計制作服務,及城口網站建設行業解決方案。主營業務為成都網站制作、網站設計、外貿網站建設、城口網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

float PI=3.1415

printf("%.2f",PI)

輸出結果為3.14

基礎知識 - Golang 中的格式化輸入輸出

【格式化輸出】

// 格式化輸出:將 arg 列表中的 arg 轉換為字符串輸出

// 使用動詞 v 格式化 arg 列表,非字符串元素之間添加空格

Print(arg列表)

// 使用動詞 v 格式化 arg 列表,所有元素之間添加空格,結尾添加換行符

Println(arg列表)

// 使用格式字符串格式化 arg 列表

Printf(格式字符串, arg列表)

// Print 類函數會返回已處理的 arg 數量和遇到的錯誤信息。

【格式字符串】

格式字符串由普通字符和占位符組成,例如:

"abc%+ #8.3[3]vdef"

其中 abc 和 def 是普通字符,其它部分是占位符,占位符以 % 開頭(注:%% 將被轉義為一個普通的 % 符號,這個不算開頭),以動詞結尾,格式如下:

%[旗標][寬度][.精度][arg索引]動詞

方括號中的內容可以省略。

【旗標】

旗標有以下幾種:

空格:對于數值類型的正數,保留一個空白的符號位(其它用法在動詞部分說明)。

0 :用 0 進行寬度填充而不用空格,對于數值類型,符號將被移到所有 0 的前面。

其中 "0" 和 "-" 不能同時使用,優先使用 "-" 而忽略 "0"。

【寬度和精度】

“寬度”和“精度”都可以寫成以下三種形式:

數值 | * | arg索引*

其中“數值”表示使用指定的數值作為寬度值或精度值,“ ”表示使用當前正在處理的 arg 的值作為寬度值或精度值,如果這樣的話,要格式化的 arg 將自動跳轉到下一個。“arg索引 ”表示使用指定 arg 的值作為寬度值或精度值,如果這樣的話,要格式化的 arg 將自動跳轉到指定 arg 的下一個。

寬度值:用于設置最小寬度。

精度值:對于浮點型,用于控制小數位數,對于字符串或字節數組,用于控制字符數量(不是字節數量)。

對于浮點型而言,動詞 g/G 的精度值比較特殊,在適當的情況下,g/G 會設置總有效數字,而不是小數位數。

【arg 索引】

“arg索引”由中括號和 arg 序號組成(就像上面示例中的 [3]),用于指定當前要處理的 arg 的序號,序號從 1 開始:

'[' + arg序號 + ']'

【動詞】

“動詞”不能省略,不同的數據類型支持的動詞不一樣。

[通用動詞]

v:默認格式,不同類型的默認格式如下:

布爾型:t

整 型:d

浮點型:g

復數型:g

字符串:s

通 道:p

指 針:p

無符號整型:x

T:輸出 arg 的類型而不是值(使用 Go 語法格式)。

[布爾型]

t:輸出 true 或 false 字符串。

[整型]

b/o/d:輸出 2/8/10 進制格式

x/X :輸出 16 進制格式(小寫/大寫)

c :輸出數值所表示的 Unicode 字符

q :輸出數值所表示的 Unicode 字符(帶單引號)。對于無法顯示的字符,將輸出其轉義字符。

U :輸出 Unicode 碼點(例如 U+1234,等同于字符串 "U+%04X" 的顯示結果)

對于 o/x/X:

如果使用 "#" 旗標,則會添加前導 0 或 0x。

對于 U:

如果使用 "#" 旗標,則會在 Unicode 碼點后面添加相應的 '字符'(前提是該字符必須可顯示)

[浮點型和復數型]

b :科學計數法(以 2 為底)

e/E:科學計數法(以 10 為底,小寫 e/大寫 E)

f/F:普通小數格式(兩者無區別)

g/G:大指數(指數 = 6)使用 %e/%E,其它情況使用 %f/%F

[字符串或字節切片]

s :普通字符串

q :雙引號引起來的 Go 語法字符串

x/X:十六進制編碼(小寫/大寫,以字節為元素進行編碼,而不是字符)

對于 q:

如果使用了 "+" 旗標,則將所有非 ASCII 字符都進行轉義處理。

如果使用了 "#" 旗標,則輸出反引號引起來的字符串(前提是

字符串中不包含任何制表符以外的控制字符,否則忽略 # 旗標)

對于 x/X:

如果使用了 " " 旗標,則在每個元素之間添加空格。

如果使用了 "#" 旗標,則在十六進制格式之前添加 0x 前綴。

[指針類型]

p :帶 0x 前綴的十六進制地址值。

[符合類型]

復合類型將使用不同的格式輸出,格式如下:

結 構 體:{字段1 字段2 ...}

數組或切片:[元素0 元素1 ...]

映 射:map[鍵1:值1 鍵2:值2 ...]

指向符合元素的指針:{}, [], map[]

復合類型本身沒有動詞,動詞將應用到復合類型的元素上。

結構體可以使用 "+v" 同時輸出字段名。

【注意】

1、如果 arg 是一個反射值,則該 arg 將被它所持有的具體值所取代。

2、如果 arg 實現了 Formatter 接口,將調用它的 Format 方法完成格式化。

3、如果 v 動詞使用了 # 旗標(%#v),并且 arg 實現了 GoStringer 接口,將調用它的 GoString 方法完成格式化。

如果格式化操作指定了字符串相關的動詞(比如 %s、%q、%v、%x、%X),接下來的兩條規則將適用:

4。如果 arg 實現了 error 接口,將調用它的 Error 方法完成格式化。

5。如果 arg 實現了 string 接口,將調用它的 String 方法完成格式化。

在實現格式化相關接口的時候,要避免無限遞歸的情況,比如:

type X string

func (x X) String() string {

return Sprintf("%s", x)

}

在格式化之前,要先轉換數據類型,這樣就可以避免無限遞歸:

func (x X) String() string {

return Sprintf("%s", string(x))

}

無限遞歸也可能發生在自引用數據類型上面,比如一個切片的元素引用了切片自身。這種情況比較罕見,比如:

a := make([]interface{}, 1)

a[0] = a

fmt.Println(a)

【格式化輸入】

// 格式化輸入:從輸入端讀取字符串(以空白分隔的值的序列),

// 并解析為具體的值存入相應的 arg 中,arg 必須是變量地址。

// 字符串中的連續空白視為單個空白,換行符根據不同情況處理。

// \r\n 被當做 \n 處理。

// 以動詞 v 解析字符串,換行視為空白

Scan(arg列表)

// 以動詞 v 解析字符串,換行結束解析

Scanln(arg列表)

// 根據格式字符串中指定的格式解析字符串

// 格式字符串中的換行符必須和輸入端的換行符相匹配。

Scanf(格式字符串, arg列表)

// Scan 類函數會返回已處理的 arg 數量和遇到的錯誤信息。

【格式字符串】

格式字符串類似于 Printf 中的格式字符串,但下面的動詞和旗標例外:

p :無效

T :無效

e/E/f/F/g/G:功能相同,都是掃描浮點數或復數

s/v :對字符串而言,掃描一個被空白分隔的子串

對于整型 arg 而言,v 動詞可以掃描帶有前導 0 或 0x 的八進制或十六進制數值。

寬度被用來指定最大掃描寬度(不會跨越空格),精度不被支持。

如果 arg 實現了 Scanner 接口,將調用它的 Scan 方法掃描相應數據。只有基礎類型和實現了 Scanner 接口的類型可以使用 Scan 類方法進行掃描。

【注意】

連續調用 FScan 可能會丟失數據,因為 FScan 中使用了 UnreadRune 對讀取的數據進行撤銷,而參數 io.Reader 只有 Read 方法,不支持撤銷。比如:

Go語言的%d,%p,%v等占位符的使用

這些是死知識,把常用的記住,不常用的直接查表就行了

golang 的fmt 包實現了格式化I/O函數,類似于C的 printf 和 scanf。

type Human struct {

Name string

}

var people = Human{Name:"zhangsan"}

golang沒有 '%u' 點位符,若整數為無符號類型,默認就會被打印成無符號的。

寬度與精度的控制格式以Unicode碼點為單位。寬度為該數值占用區域的最小寬度;精度為小數點之后的位數。

操作數的類型為int時,寬度與精度都可用字符 '*' 表示。

對于 %g/%G 而言,精度為所有數字的總數,例如:123.45,%.4g 會打印123.5,(而 %6.2f 會打印123.45)。

%e 和 %f 的默認精度為6

對大多數的數值類型而言,寬度為輸出的最小字符數,如果必要的話會為已格式化的形式填充空格。

而以字符串類型,精度為輸出的最大字符數,如果必要的話會直接截斷。

使用起來很簡單,一般配合fmt.Printf()使用,因為fmt的Printf()是有格式的輸出,切忌使用Println(),否則將會以字符串的形式輸出。

查看原文: golang fmt格式“占位符”

go有沒有像python中%這樣強大的格式字符串

可以用sprintf

package?main

import?"fmt"

import?"os"

type?point?struct?{

x,?y?int

}

func?main()?{

//?Go提供了幾種打印格式,用來格式化一般的Go值,例如

//?下面的%v打印了一個point結構體的對象的值

p?:=?point{1,?2}

fmt.Printf("%v\n",?p)

//?如果所格式化的值是一個結構體對象,那么`%+v`的格式化輸出

//?將包括結構體的成員名稱和值

fmt.Printf("%+v\n",?p)

//?`%#v`格式化輸出將輸出一個值的Go語法表示方式。

fmt.Printf("%#v\n",?p)

//?使用`%T`來輸出一個值的數據類型

fmt.Printf("%T\n",?p)

//?格式化布爾型變量

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

//?有很多的方式可以格式化整型,使用`%d`是一種

//?標準的以10進制來輸出整型的方式

fmt.Printf("%d\n",?123)

//?這種方式輸出整型的二進制表示方式

fmt.Printf("%b\n",?14)

//?這里打印出該整型數值所對應的字符

fmt.Printf("%c\n",?33)

//?使用`%x`輸出一個值的16進制表示方式

fmt.Printf("%x\n",?456)

//?浮點型數值也有幾種格式化方法。最基本的一種是`%f`

fmt.Printf("%f\n",?78.9)

//?`%e`和`%E`使用科學計數法來輸出整型

fmt.Printf("%e\n",?123400000.0)

fmt.Printf("%E\n",?123400000.0)

//?使用`%s`輸出基本的字符串

fmt.Printf("%s\n",?"\"string\"")

//?輸出像Go源碼中那樣帶雙引號的字符串,需使用`%q`

fmt.Printf("%q\n",?"\"string\"")

//?`%x`以16進制輸出字符串,每個字符串的字節用兩個字符輸出

fmt.Printf("%x\n",?"hex?this")

//?使用`%p`輸出一個指針的值

fmt.Printf("%p\n",?p)

//?當輸出數字的時候,經常需要去控制輸出的寬度和精度。

//?可以使用一個位于%后面的數字來控制輸出的寬度,默認

//?情況下輸出是右對齊的,左邊加上空格

fmt.Printf("|%6d|%6d|\n",?12,?345)

//?你也可以指定浮點數的輸出寬度,同時你還可以指定浮點數

//?的輸出精度

fmt.Printf("|%6.2f|%6.2f|\n",?1.2,?3.45)

//?To?left-justify,?use?the?`-`?flag.

fmt.Printf("|%-6.2f|%-6.2f|\n",?1.2,?3.45)

//?你也可以指定輸出字符串的寬度來保證它們輸出對齊。默認

//?情況下,輸出是右對齊的

fmt.Printf("|%6s|%6s|\n",?"foo",?"b")

//?為了使用左對齊你可以在寬度之前加上`-`號

fmt.Printf("|%-6s|%-6s|\n",?"foo",?"b")

//?`Printf`函數的輸出是輸出到命令行`os.Stdout`的,你

//?可以用`Sprintf`來將格式化后的字符串賦值給一個變量

s?:=?fmt.Sprintf("a?%s",?"string")

fmt.Println(s)

//?你也可以使用`Fprintf`來將格式化后的值輸出到`io.Writers`

fmt.Fprintf(os.Stderr,?"an?%s\n",?"error")

}

printf %f 去除末尾0

可以

你把%f改成%.1f就可以了

%.1f是說你的小數后保留一位小數

你在前面加上一個數,比如寫成%4.1f,就是表示你的輸出的數長度是4,保留一位小數,小數點算一位,不夠的話就右對齊,前面補上空格就行了,你可以到機子上試試就知道了!


名稱欄目:go語言%f代表什么,函數gof是什么意思
網頁路徑:http://www.xueling.net.cn/article/dssjcdd.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 日韩高清中文字幕一区二区 | 国产真实乱免费高清视频 | 成人九九视频 | 亚洲av综合色区无码一区 | 91热热热 | 精品国产一区久久 | 日色网站| 亚洲精品乱码久久久v开放时间 | 野花视频最新免费完整在线观看 | 国产一区三区三区 | 欧美疯狂做受XXXXX高潮 | 欧洲成在人线视频免费 | 强行糟蹋人妻HD中文 | 免费黄色一级大片 | 亚洲路线1路线2路线3地址 | 欧美大片一区二区三区 | 一级爰片 | jizzjizzjizz中国| 春意午夜影院 | 国产精品99无码一区二区 | 少妇bbb搡bbb搡bbb| 国产手机在线精品 | 2024丁香五月天之婷婷综合缴情 | 国产成人性色生活片 | 国产精品999久久久 日韩av影院在线观看 | 免费国产自线拍一欧美视频 | 99久久免费精品国产男女性高好 | 亚洲社区一区二区 | 日本一区二区久久久 | 欧美人与动zozo | 日本高清视频一区二区三区四区 | 亚洲国产不卡视频 | 视频福利一区 | 97涩国一产精品久久久久久久 | 欧美日韩精品一区二区在线观看 | 国产成人年无码AV片在线观看 | 亚洲人成网站在e线播放 | 中文字幕日韩一区二区 | av在线天堂亚洲 | 亚洲黄色高清 | 狠狠综合亚洲综合亚洲色 |