golang基礎(chǔ)之字符串與int、int64類型互相轉(zhuǎn)換
1、代碼
package main
import (
"fmt"
"reflect"
"strconv"
)
func main() {
var testStr string = "123456"
// 字符串 轉(zhuǎn) int
intNum, _ := strconv.Atoi(testStr)
fmt.Println("intNum =", intNum, ", intNum 類型是", reflect.TypeOf(intNum))
// 字符串 轉(zhuǎn) int64
int64Num, _ := strconv.ParseInt(testStr, 10, 64)
fmt.Println("int64Num=", int64Num, ", int64Num 類型是", reflect.TypeOf(int64Num))
// ===================================================
// int 轉(zhuǎn) 字符串
var intNum2 int = 123456
var str1 string = strconv.Itoa(intNum2)
fmt.Println("str1 =", str1, ", str1 類型是", reflect.TypeOf(str1))
// int64 轉(zhuǎn) 字符串
var int64Num2 int64 = 123456
var str2 string = strconv.FormatInt(int64Num2, 10)
fmt.Println("str2 =", str2, ", str2 類型是", reflect.TypeOf(str2))
fmt.Println("----------------- 類型轉(zhuǎn)換 ---------------------")
var num3 int = 30
var num4 int64
num4 = int64(num3)
fmt.Printf("num3 的類型是 %T ,num3= %v \n", num3, num3)
fmt.Printf("num4 的類型是 %T ,num4= %v \n", num4, num4)
var num5 int64 = 20
var num6 int
num6 = int(num5)
fmt.Printf("num5 的類型是 %T ,num5= %v \n", num5, num5)
fmt.Printf("num6 的類型是 %T ,num6= %v \n", num6, num6)
}運(yùn)行結(jié)果:
intNum = 123456 , intNum 類型是 int
int64Num= 123456 , int64Num 類型是 int64
str1 = 123456 , str1 類型是 string
str2 = 123456 , str2 類型是 string
----------------- 類型轉(zhuǎn)換 ---------------------
num3 的類型是 int ,num3= 30
num4 的類型是 int64 ,num4= 30
num5 的類型是 int64 ,num5= 20
num6 的類型是 int ,num6= 20
2、總結(jié)
2.1、字符串 與 int 互轉(zhuǎn)
// 字符串 轉(zhuǎn) int intNum, _ := strconv.Atoi(testStr) // int 轉(zhuǎn) 字符串 var str1 string = strconv.Itoa(intNum2)
2.2、字符串 與 int64 互轉(zhuǎn)
// 字符串 轉(zhuǎn) int64 // 參數(shù)1:數(shù)字類型的字符串 // 參數(shù)2:數(shù)字字符串的進(jìn)制, 比如 2進(jìn)制、8進(jìn)制、10進(jìn)制、16進(jìn)制 // 參數(shù)3:bitSize,意思是string轉(zhuǎn)int64時(shí)的數(shù)值范圍的限制,如int8 int16 int32 int64 不同數(shù)字類型取值范圍是不一樣的 int64Num, _ := strconv.ParseInt(testStr, 10, 64) // int64 轉(zhuǎn) 字符串 // 參數(shù)1:int64類型的數(shù)字,如果是int、int8 int16 int32,則要使用int64(數(shù)字)轉(zhuǎn)換 // 參數(shù)2:表示int64數(shù)字要轉(zhuǎn)換什么進(jìn)制的字符串 , 比如 2進(jìn)制、8進(jìn)制、10進(jìn)制、16進(jìn)制。取值必須在2到36之間。 var str2 string = strconv.FormatInt(int64Num2, 10)
示例:
字符串 e 屬于16進(jìn)制,是10進(jìn)制中的14 。
var testStr3 string = "e"
int64Num, _ := strconv.ParseInt(testStr3, 16, 8)
fmt.Println("int64Num=", int64Num, ", int64Num 類型是", reflect.TypeOf(int64Num))運(yùn)行結(jié)果:
int64Num= 14 , int64Num 類型是 int64
2.3、int 與 int64 互轉(zhuǎn)最簡(jiǎn)單
var intNum int = int(int64位數(shù)字) var int64Num int64 = int64(int數(shù)字)
總結(jié)
到此這篇關(guān)于golang基礎(chǔ)之字符串與int、int64類型互相轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)golang字符串與int互轉(zhuǎn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
golang 如何用反射reflect操作結(jié)構(gòu)體
這篇文章主要介紹了golang 用反射reflect操作結(jié)構(gòu)體的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
Go語(yǔ)言MySQLCURD數(shù)據(jù)庫(kù)操作示例詳解
這篇文章主要為大家介紹了Go語(yǔ)言MySQLCURD數(shù)據(jù)庫(kù)操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12
Golang?WorkerPool線程池并發(fā)模式示例詳解
這篇文章主要為大家介紹了Golang?WorkerPool線程池并發(fā)模式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Go語(yǔ)言使用釘釘機(jī)器人推送消息的實(shí)現(xiàn)示例
本文主要介紹了Go語(yǔ)言使用釘釘機(jī)器人推送消息的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
Golang標(biāo)準(zhǔn)庫(kù)syscall詳解(什么是系統(tǒng)調(diào)用)
最近在研究go語(yǔ)言,發(fā)現(xiàn)go語(yǔ)言系統(tǒng)調(diào)用源碼只有調(diào)用函數(shù)的定義,今天通過(guò)本文給大家分享Golang標(biāo)準(zhǔn)庫(kù)syscall詳解及什么是系統(tǒng)調(diào)用,感興趣的朋友一起看看吧2021-05-05
Go語(yǔ)言實(shí)現(xiàn)JSON解析的方法詳解
在日常項(xiàng)目中,使用Json格式進(jìn)行數(shù)據(jù)封裝是比較常見(jiàn)的操作。本文將詳細(xì)講解如何利用Go語(yǔ)言實(shí)現(xiàn)JSON的解析,感興趣的小伙伴可以學(xué)習(xí)一下2022-04-04
詳解Go如何基于現(xiàn)有的context創(chuàng)建新的context
在?Golang?中,context?包提供了創(chuàng)建和管理上下文的功能,那么在GO語(yǔ)言中如何基于現(xiàn)有的context創(chuàng)建新的context,下面小編就來(lái)和大家詳細(xì)聊聊2024-01-01

