国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 后端開發(fā) Golang go語言怎么將string轉int類型

go語言怎么將string轉int類型

Mar 15, 2021 pm 02:00 PM
go語言 類型轉換

轉換方法:1、利用strconv包中的Atoi()函數(shù),可將字符串類型的整數(shù)轉換為int類型,語法“strconv.Atoi(string)”;2、利用strconv包中的ParseInt()函數(shù),可返回字符串表示的整數(shù)值(接受正負號),語法“strconv.ParseInt(string,10,64)”。

go語言怎么將string轉int類型

本教程操作環(huán)境:windows10系統(tǒng)、GO 1.18、thinkpad t480電腦。

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包實現(xiàn)了基本數(shù)據(jù)類型和其字符串表示的相互轉換。

strconv包

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

更多函數(shù)請查看官方文檔。

string與int類型轉換

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

Atoi()

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

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

如果傳入的字符串參數(shù)無法轉換為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()函數(shù)用于將int類型數(shù)據(jù)轉換為對應的字符串表示,具體的函數(shù)簽名如下。

func Itoa(i int) string

示例代碼如下:

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

Parse系列函數(shù)

Parse類函數(shù)用于轉換字符串為給定類型的值: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)

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

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

bitSize指定結果必須能無溢出賦值的整數(shù)類型,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)

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

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

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)

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

Format系列函數(shù)

Format系列函數(shù)實現(xiàn)了將給定類型數(shù)據(jù)格式化為string類型數(shù)據(jù)的功能。

FormatBool()

func FormatBool(b bool) string

根據(jù)b的值返回”true”或”false”。

FormatInt()

func FormatInt(i int64, base int) string

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

FormatUint()

func FormatUint(i uint64, base int) string

是FormatInt的無符號整數(shù)版本。

FormatFloat()

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

函數(shù)將浮點數(shù)表示為字符串并返回。

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

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

prec控制精度(排除指數(shù)部分):對’f’、’e’、’E’,它表示小數(shù)點后的數(shù)字個數(shù);對’g’、’G’,它控制總的數(shù)字個數(shù)。如果prec 為-1,則代表使用最少數(shù)量的、但又必需的數(shù)字來表示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必須是:字母(廣義)、數(shù)字、標點、符號、ASCII空格。

CanBackquote()

func CanBackquote(s string) bool

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

其他

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

推薦學習:Golang教程

以上是go語言怎么將string轉int類型的詳細內(nèi)容。更多信息請關注PHP中文網(wǎng)其他相關文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

在Go語言中使用Redis Stream實現(xiàn)消息隊列時,如何解決user_id類型轉換問題? 在Go語言中使用Redis Stream實現(xiàn)消息隊列時,如何解決user_id類型轉換問題? Apr 02, 2025 pm 04:54 PM

Go語言中使用RedisStream實現(xiàn)消息隊列時類型轉換問題在使用Go語言與Redis...

GoLand中自定義結構體標簽不顯示怎么辦? GoLand中自定義結構體標簽不顯示怎么辦? Apr 02, 2025 pm 05:09 PM

GoLand中自定義結構體標簽不顯示怎么辦?在使用GoLand進行Go語言開發(fā)時,很多開發(fā)者會遇到自定義結構體標簽在?...

Go的爬蟲Colly中Queue線程的問題是什么? Go的爬蟲Colly中Queue線程的問題是什么? Apr 02, 2025 pm 02:09 PM

Go爬蟲Colly中的Queue線程問題探討在使用Go語言的Colly爬蟲庫時,開發(fā)者常常會遇到關于線程和請求隊列的問題。?...

Go語言中哪些庫是由大公司開發(fā)或知名的開源項目提供的? Go語言中哪些庫是由大公司開發(fā)或知名的開源項目提供的? Apr 02, 2025 pm 04:12 PM

Go語言中哪些庫是大公司開發(fā)或知名開源項目?在使用Go語言進行編程時,開發(fā)者常常會遇到一些常見的需求,?...

使用Go語言連接Oracle數(shù)據(jù)庫時是否需要安裝Oracle客戶端? 使用Go語言連接Oracle數(shù)據(jù)庫時是否需要安裝Oracle客戶端? Apr 02, 2025 pm 03:48 PM

使用Go語言連接Oracle數(shù)據(jù)庫時是否需要安裝Oracle客戶端?在使用Go語言開發(fā)時,連接Oracle數(shù)據(jù)庫是一個常見需求?...

在Go編程中,如何正確管理Mysql和Redis的連接與釋放資源? 在Go編程中,如何正確管理Mysql和Redis的連接與釋放資源? Apr 02, 2025 pm 05:03 PM

Go編程中的資源管理:Mysql和Redis的連接與釋放在學習Go編程過程中,如何正確管理資源,特別是與數(shù)據(jù)庫和緩存?...

Go語言接口是鴨子類型嗎?多態(tài)的實現(xiàn)機制究竟是什么? Go語言接口是鴨子類型嗎?多態(tài)的實現(xiàn)機制究竟是什么? Apr 02, 2025 pm 02:48 PM

Go語言中的接口與多態(tài):澄清常見誤解許多Go語言初學者常常將“鴨子類型”和“多態(tài)”這兩個概念與Go語言的接...

在使用Go語言和viper庫時,為什么傳遞指針的指針是必要的? 在使用Go語言和viper庫時,為什么傳遞指針的指針是必要的? Apr 02, 2025 pm 04:00 PM

Go指針語法及viper庫使用中的尋址問題在使用Go語言進行編程時,理解指針的語法和使用方法至關重要,尤其是在...

See all articles