中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

go語言如何將string轉int類型

發布時間:2021-03-15 14:32:06 來源:億速云 閱讀:994 作者:小新 欄目:編程語言

這篇文章給大家分享的是有關go語言如何將string轉int類型的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

在go語言中,可以利用strconv包中的Atoi()或者ParseInt()函數來將字符串類型轉換為int類型,語法格式“strconv.Atoi(string)”或“strconv.ParseInt(string,10,64)”。

golang中字符串和各種int類型之間的相互轉換方式

string轉成int:

int, err := strconv.Atoi(string)

string轉成int64:

int64, err := strconv.ParseInt(string, 10, 64)

int轉成string:

string := strconv.Itoa(int)

int64轉成string:

string := strconv.FormatInt(int64,10)

Go語言 strconv(類型轉換)介紹

Go語言中strconv包實現了基本數據類型和其字符串表示的相互轉換。

strconv包

strconv包實現了基本數據類型與其字符串表示的轉換,主要有以下常用函數: Atoi()Itia()、parse系列、format系列、append系列。

更多函數請查看官方文檔。

string與int類型轉換

這一組函數是我們平時編程中用的最多的。

Atoi()

Atoi()函數用于將字符串類型的整數轉換為int類型,函數簽名如下。

func Atoi(s string) (i int, err error)

如果傳入的字符串參數無法轉換為int類型,就會返回錯誤。

s1 := "100"
i1, err := strconv.Atoi(s1)
if err != nil {
    fmt.Println("can't convert to int")
} else {
    fmt.Printf("type:%T value:%#v\n", i1, i1) //type:int value:100
}

Itoa()

Itoa()函數用于將int類型數據轉換為對應的字符串表示,具體的函數簽名如下。

func Itoa(i int) string

示例代碼如下:

i2 := 200s2 := strconv.Itoa(i2)fmt.Printf("type:%T value:%#v\n", s2, s2) //type:string value:"200"

Parse系列函數

Parse類函數用于轉換字符串為給定類型的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。

ParseBool()

func ParseBool(str string) (value bool, err error)

返回字符串表示的bool值。它接受1、0、t、f、T、F、true、false、True、False、TRUE、FALSE;否則返回錯誤。

ParseInt()

func ParseInt(s string, base int, bitSize int) (i int64, err error)

返回字符串表示的整數值,接受正負號。

base指定進制(2到36),如果base為0,則會從字符串前置判斷,”0x”是16進制,”0”是8進制,否則是10進制;

bitSize指定結果必須能無溢出賦值的整數類型,0、8、16、32、64 分別代表 int、int8、int16、int32、int64;

返回的err是*NumErr類型的,如果語法有誤,err.Error = ErrSyntax;如果結果超出類型范圍err.Error = ErrRange。

ParseUnit()

func ParseUint(s string, base int, bitSize int) (n uint64, err error)

ParseUint類似ParseInt但不接受正負號,用于無符號整型。

ParseFloat()

func ParseFloat(s string, bitSize int) (f float64, err error)

解析一個表示浮點數的字符串并返回其值。

如果s合乎語法規則,函數會返回最為接近s表示值的一個浮點數(使用IEEE754規范舍入)。

bitSize指定了期望的接收類型,32是float32(返回值可以不改變精確值的賦值給float32),64是float64;

返回值err是*NumErr類型的,語法有誤的,err.Error=ErrSyntax;結果超出表示范圍的,返回值f為±Inf,err.Error= ErrRange。

代碼示例

b, err := strconv.ParseBool("true")
f, err := strconv.ParseFloat("3.1415", 64)
i, err := strconv.ParseInt("-2", 10, 64)
u, err := strconv.ParseUint("2", 10, 64)

這些函數都有兩個返回值,第一個返回值是轉換后的值,第二個返回值為轉化失敗的錯誤信息。

Format系列函數

Format系列函數實現了將給定類型數據格式化為string類型數據的功能。

FormatBool()

func FormatBool(b bool) string

根據b的值返回”true”或”false”。

FormatInt()

func FormatInt(i int64, base int) string

返回i的base進制的字符串表示。base 必須在2到36之間,結果中會使用小寫字母’a’到’z’表示大于10的數字。

FormatUint()

func FormatUint(i uint64, base int) string

是FormatInt的無符號整數版本。

FormatFloat()

func FormatFloat(f float64, fmt byte, prec, bitSize int) string

函數將浮點數表示為字符串并返回。

bitSize表示f的來源類型(32:float32、64:float64),會據此進行舍入。

fmt表示格式:’f’(-ddd.dddd)、’b’(-ddddp±ddd,指數為二進制)、’e’(-d.dddde±dd,十進制指數)、’E’(-d.ddddE±dd,十進制指數)、’g’(指數很大時用’e’格式,否則’f’格式)、’G’(指數很大時用’E’格式,否則’f’格式)。

prec控制精度(排除指數部分):對’f’、’e’、’E’,它表示小數點后的數字個數;對’g’、’G’,它控制總的數字個數。如果prec 為-1,則代表使用最少數量的、但又必需的數字來表示f。

代碼示例

s1 := strconv.FormatBool(true)
s2 := strconv.FormatFloat(3.1415, 'E', -1, 64)
s3 := strconv.FormatInt(-2, 16)
s4 := strconv.FormatUint(2, 16)

其他

isPrint()

func IsPrint(r rune) bool

返回一個字符是否是可打印的,和unicode.IsPrint一樣,r必須是:字母(廣義)、數字、標點、符號、ASCII空格。

CanBackquote()

func CanBackquote(s string) bool

返回字符串s是否可以不被修改的表示為一個單行的、沒有空格和tab之外控制字符的反引號字符串。

其他

除上文列出的函數外,strconv包中還有Append系列、Quote系列等函數。具體用法可查看官方文檔。

感謝各位的閱讀!關于“go語言如何將string轉int類型”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大连市| 久治县| 贡嘎县| 礼泉县| 伊宁市| 调兵山市| 武川县| 鹿邑县| 新龙县| 新邵县| 高邮市| 和平县| 耒阳市| 依兰县| 安宁市| 基隆市| 浦江县| 安乡县| 凯里市| 南郑县| 衡水市| 清河县| 三河市| 大洼县| 利辛县| 南安市| 无棣县| 兴国县| 集贤县| 山西省| 武威市| 射洪县| 安丘市| 云霄县| 丰镇市| 天津市| 荥经县| 吉林省| 金塔县| 太仓市| 文山县|