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

溫馨提示×

溫馨提示×

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

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

golang如何將字符串轉為整型

發布時間:2023-01-05 13:56:05 來源:億速云 閱讀:249 作者:iii 欄目:編程語言

這篇文章主要介紹“golang如何將字符串轉為整型”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“golang如何將字符串轉為整型”文章能幫助大家解決問題。

轉換方法:1、用Atoi(),可將字符串類型的整數轉換為int類型,語法“strconv.Atoi(str)”;2、用ParseInt(),可將字符串轉換為整數值,接受正負號,語法“strconv.ParseInt(str,10,64)”;3、用ParseUnit(),可將字符串轉換為整數值,不接受正負號,語法“strconv.ParseUint(str,10,64)”。

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

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

下面介紹一下將字符串轉為整型的幾個函數。

Atoi()

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

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

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

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如何將字符串轉為整型

Parse系列函數

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

ParseInt()

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但不接受正負號,用于無符號整型。

示例:

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如何將字符串轉為整型

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

擴展知識:go中的整型

Go語言同時提供了有符號和無符號的整數類型,其中包括 int8、int16、int32 和 int64 四種大小截然不同的有符號整數類型,分別對應 8、16、32、64 bit(二進制位)大小的有符號整數,與此對應的是 uint8、uint16、uint32 和 uint64 四種無符號整數類型。

此外還有兩種整數類型 int 和 uint,它們分別對應特定 CPU 平臺的字長(機器字大小),其中 int 表示有符號整數,應用最為廣泛,uint 表示無符號整數。實際開發中由于編譯器和計算機硬件的不同,int 和 uint 所能表示的整數大小會在 32bit 或 64bit 之間變化。

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

用來表示 Unicode 字符的 rune 類型和 int32 類型是等價的,通常用于表示一個 Unicode 碼點。這兩個名稱可以互換使用。同樣,byte 和 uint8 也是等價類型,byte 類型一般用于強調數值是一個原始的數據而不是一個小的整數。

最后,還有一種無符號的整數類型 uintptr,它沒有指定具體的 bit 大小但是足以容納指針。uintptr 類型只有在底層編程時才需要,特別是Go語言和C語言函數庫或操作系統接口相交互的地方。

盡管在某些特定的運行環境下 int、uint 和 uintptr 的大小可能相等,但是它們依然是不同的類型,比如 int 和 int32,雖然 int 類型的大小也可能是 32 bit,但是在需要把 int 類型當做 int32 類型使用的時候必須顯示的對類型進行轉換,反之亦然。

Go語言中有符號整數采用 2 的補碼形式表示,也就是最高 bit 位用來表示符號位,一個 n-bit 的有符號數的取值范圍是從 -2(n-1) 到 2(n-1)-1。無符號整數的所有 bit 位都用于表示非負數,取值范圍是 0 到 2n-1。例如,int8 類型整數的取值范圍是從 -128 到 127,而 uint8 類型整數的取值范圍是從 0 到 255。

關于“golang如何將字符串轉為整型”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

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

AI

太康县| 红河县| 清涧县| 双峰县| 玉环县| 靖西县| 桃江县| 黔西县| 内江市| 调兵山市| 南涧| 罗田县| 乳源| 泰和县| 镇远县| 葫芦岛市| 陆河县| 沿河| 蛟河市| 崇州市| 彰化市| 广饶县| 广河县| 塘沽区| 阳高县| 磐石市| 和顺县| 庆元县| 滕州市| 阿巴嘎旗| 锡林郭勒盟| 高平市| 中西区| 龙门县| 临泉县| 长治市| 米泉市| 涟源市| 望都县| 景洪市| 乌拉特中旗|