go string to int 字符串與整數(shù)型的互換方式
go string to int 字符串與整數(shù)型的互換
package main
import (
"fmt"
"strconv"
)
func main() {
// 把字符串轉(zhuǎn)換為數(shù)字
str := "10000"
ret1, err := strconv.ParseInt(str, 10, 64)
if err != nil {
fmt.Printf("paresint failed, err:%v", err)
return
}
fmt.Printf("%#v %Tn", ret1, ret1)
// 把數(shù)字轉(zhuǎn)換為字符串
i := int32(97)
ret2 := fmt.Sprintf("%d", i)
fmt.Printf("%#v", ret2)
}golang string 轉(zhuǎn) int,int64,int32
interface{}
interface{} 接口、interface{} 類型很多人都會混淆。
interface{} 類型是沒有方法的接口。
由于沒有 implements 關(guān)鍵字,所以說所有的類型都至少實(shí)現(xiàn)了 0 個方法,所有類型都實(shí)現(xiàn)了空接口。
這意味著,如果編寫一個函數(shù)以 interface{} 值作為參數(shù),那么你可以為該函數(shù)提供任何值。
例如:
func DoSomething(v interface{}) {
// ...
}第一種知道是什么類型
如果知道是什么類型的話,就可以直接轉(zhuǎn)
// 假設(shè) v 為 string或int64或float64
func DoSomething(v interface{}) {
string1 := v.(string)
int1 := v.(int64)
float1 := v.(float64)
}第二種不知道是什么類型
這時候就可以使用類型斷言,然后再轉(zhuǎn)為具體類型
func interface2Type(i interface{}) {
switch i.(type) {
case string:
fmt.Println("string", i.(string))
break
case int:
fmt.Println("int", i.(int))
break
case float64:
fmt.Println("float64", i.(float64))
break
}
}
func main() {
interface2Type("niuben")
interface2Type(1122)
interface2Type(11.22)
}輸出
string niuben
int 1122
float64 11.22
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Go到底能不能實(shí)現(xiàn)安全的雙檢鎖(推薦)
這篇文章主要介紹了Go到底能不能實(shí)現(xiàn)安全的雙檢鎖,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-05-05
Go語言實(shí)現(xiàn)socket實(shí)例
這篇文章主要介紹了Go語言實(shí)現(xiàn)socket的方法,實(shí)例分析了socket客戶端與服務(wù)器端的實(shí)現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-02-02
Go單元測試對數(shù)據(jù)庫CRUD進(jìn)行Mock測試
這篇文章主要為大家介紹了Go單元測試對數(shù)據(jù)庫CRUD進(jìn)行Mock測試的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Go語言實(shí)現(xiàn)二進(jìn)制與十進(jìn)制互轉(zhuǎn)的示例代碼
這篇文章主要和大家詳細(xì)介紹了Go語言中實(shí)現(xiàn)二進(jìn)制與十進(jìn)制互相轉(zhuǎn)換的示例代碼,文中的代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05
解決golang結(jié)構(gòu)體tag編譯錯誤的問題
這篇文章主要介紹了解決golang結(jié)構(gòu)體tag編譯錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05

