最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
golang如何將字符串轉(zhuǎn)為整型

這篇文章主要介紹“golang如何將字符串轉(zhuǎn)為整型”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“golang如何將字符串轉(zhuǎn)為整型”文章能幫助大家解決問(wèn)題。

目前創(chuàng)新互聯(lián)已為成百上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管、服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、大石橋網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

轉(zhuǎn)換方法:1、用Atoi(),可將字符串類(lèi)型的整數(shù)轉(zhuǎn)換為int類(lèi)型,語(yǔ)法“strconv.Atoi(str)”;2、用ParseInt(),可將字符串轉(zhuǎn)換為整數(shù)值,接受正負(fù)號(hào),語(yǔ)法“strconv.ParseInt(str,10,64)”;3、用ParseUnit(),可將字符串轉(zhuǎn)換為整數(shù)值,不接受正負(fù)號(hào),語(yǔ)法“strconv.ParseUint(str,10,64)”。

Go語(yǔ)言中strconv包實(shí)現(xiàn)了基本數(shù)據(jù)類(lèi)型和其字符串表示的相互轉(zhuǎn)換。

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

下面介紹一下將字符串轉(zhuǎn)為整型的幾個(gè)函數(shù)。

Atoi()

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

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

如果傳入的字符串參數(shù)無(wú)法轉(zhuǎn)換為int類(lèi)型,就會(huì)返回錯(cuò)誤。

package main

import "fmt"
import "strconv"

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

golang如何將字符串轉(zhuǎn)為整型

Parse系列函數(shù)

Parse類(lèi)函數(shù)用于轉(zhuǎn)換字符串為給定類(lèi)型的值:ParseBool()、ParseFloat()、ParseInt()、ParseUint()。其中ParseInt()和ParseUnit()用于字符串轉(zhuǎn)整型。

ParseInt()

ParseInt()是將字符串轉(zhuǎn)換為數(shù)字的函數(shù)

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

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

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

  • bitSize指定結(jié)果必須能無(wú)溢出賦值的整數(shù)類(lèi)型,0、8、16、32、64 分別代表 int、int8、int16、int32、int64;

  • 返回的err是*NumErr類(lèi)型的,如果語(yǔ)法有誤,err.Error = ErrSyntax;如果結(jié)果超出類(lèi)型范圍err.Error = ErrRange。

ParseUnit()

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

ParseUint類(lèi)似ParseInt但不接受正負(fù)號(hào),用于無(wú)符號(hào)整型。

示例:

package main

import "fmt"
import "strconv"

func main() {
	i, err1 := strconv.ParseInt("-2", 10, 64)
	u, err2 := strconv.ParseUint("2", 10, 64)
	if err1 != nil {
      fmt.Println("can't convert to int")
    } else {
      fmt.Printf("type:%T value:%#v\n", i, i) //type:int64 value:2
    }
	if err2 != nil {
      fmt.Println("can't convert to int")
    } else {
      fmt.Printf("type:%T value:%#v\n", u, u) //type:uint64 value:0x2
    }
}

golang如何將字符串轉(zhuǎn)為整型

ParseInt()和ParseUnit()函數(shù)都有兩個(gè)返回值,第一個(gè)返回值是轉(zhuǎn)換后的值,第二個(gè)返回值為轉(zhuǎn)化失敗的錯(cuò)誤信息。

擴(kuò)展知識(shí):go中的整型

Go語(yǔ)言同時(shí)提供了有符號(hào)和無(wú)符號(hào)的整數(shù)類(lèi)型,其中包括 int8、int16、int32 和 int64 四種大小截然不同的有符號(hào)整數(shù)類(lèi)型,分別對(duì)應(yīng) 8、16、32、64 bit(二進(jìn)制位)大小的有符號(hào)整數(shù),與此對(duì)應(yīng)的是 uint8、uint16、uint32 和 uint64 四種無(wú)符號(hào)整數(shù)類(lèi)型。

此外還有兩種整數(shù)類(lèi)型 int 和 uint,它們分別對(duì)應(yīng)特定 CPU 平臺(tái)的字長(zhǎng)(機(jī)器字大?。渲?int 表示有符號(hào)整數(shù),應(yīng)用最為廣泛,uint 表示無(wú)符號(hào)整數(shù)。實(shí)際開(kāi)發(fā)中由于編譯器和計(jì)算機(jī)硬件的不同,int 和 uint 所能表示的整數(shù)大小會(huì)在 32bit 或 64bit 之間變化。

大多數(shù)情況下,我們只需要 int 一種整型即可,它可以用于循環(huán)計(jì)數(shù)器(for 循環(huán)中控制循環(huán)次數(shù)的變量)、數(shù)組和切片的索引,以及任何通用目的的整型運(yùn)算符,通常 int 類(lèi)型的處理速度也是最快的。

用來(lái)表示 Unicode 字符的 rune 類(lèi)型和 int32 類(lèi)型是等價(jià)的,通常用于表示一個(gè) Unicode 碼點(diǎn)。這兩個(gè)名稱可以互換使用。同樣,byte 和 uint8 也是等價(jià)類(lèi)型,byte 類(lèi)型一般用于強(qiáng)調(diào)數(shù)值是一個(gè)原始的數(shù)據(jù)而不是一個(gè)小的整數(shù)。

最后,還有一種無(wú)符號(hào)的整數(shù)類(lèi)型 uintptr,它沒(méi)有指定具體的 bit 大小但是足以容納指針。uintptr 類(lèi)型只有在底層編程時(shí)才需要,特別是Go語(yǔ)言和C語(yǔ)言函數(shù)庫(kù)或操作系統(tǒng)接口相交互的地方。

盡管在某些特定的運(yùn)行環(huán)境下 int、uint 和 uintptr 的大小可能相等,但是它們依然是不同的類(lèi)型,比如 int 和 int32,雖然 int 類(lèi)型的大小也可能是 32 bit,但是在需要把 int 類(lèi)型當(dāng)做 int32 類(lèi)型使用的時(shí)候必須顯示的對(duì)類(lèi)型進(jìn)行轉(zhuǎn)換,反之亦然。

Go語(yǔ)言中有符號(hào)整數(shù)采用 2 的補(bǔ)碼形式表示,也就是最高 bit 位用來(lái)表示符號(hào)位,一個(gè) n-bit 的有符號(hào)數(shù)的取值范圍是從 -2(n-1) 到 2(n-1)-1。無(wú)符號(hào)整數(shù)的所有 bit 位都用于表示非負(fù)數(shù),取值范圍是 0 到 2n-1。例如,int8 類(lèi)型整數(shù)的取值范圍是從 -128 到 127,而 uint8 類(lèi)型整數(shù)的取值范圍是從 0 到 255。

關(guān)于“golang如何將字符串轉(zhuǎn)為整型”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。


當(dāng)前文章:golang如何將字符串轉(zhuǎn)為整型
網(wǎng)頁(yè)路徑:http://fisionsoft.com.cn/article/ghpgjo.html