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)鍵字,所以說所有的類型都至少實現(xiàn)了 0 個方法,所有類型都實現(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)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Go單元測試對數(shù)據(jù)庫CRUD進行Mock測試
這篇文章主要為大家介紹了Go單元測試對數(shù)據(jù)庫CRUD進行Mock測試的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06Go語言實現(xiàn)二進制與十進制互轉(zhuǎn)的示例代碼
這篇文章主要和大家詳細介紹了Go語言中實現(xiàn)二進制與十進制互相轉(zhuǎn)換的示例代碼,文中的代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05解決golang結(jié)構(gòu)體tag編譯錯誤的問題
這篇文章主要介紹了解決golang結(jié)構(gòu)體tag編譯錯誤的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-05-05