婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > go 類型轉換方式(interface 類型的轉換)

go 類型轉換方式(interface 類型的轉換)

熱門標簽:外呼系統顯本地手機號 excel地圖標注分布數據 涿州代理外呼系統 阿克蘇地圖標注 百度地圖標注后傳給手機 電話機器人軟件免費 外呼系統用什么卡 壽光微信地圖標注 評價高的400電話辦理

go 在做類型轉換時,報錯:

cannot convert m (type interface {}) to type Msg: need type assertion

原因:

go 的在 interface 類型轉換的時候, 不是使用類型的轉換, 而是使用

t,ok := i.(T)

例子:

//處理網絡消息
func ProcessMsg(m interface{}){
    //var a interface{} = m
    //Msg(m)
    msg := m.(*Msg)

補充:go []interface{}的類型轉換

看代碼吧~

package main 
import (
    "fmt"
    "strings"
)
 
func getName(params ...interface{}) string {
    var stringSlice []string
    for _, param := range params {
        stringSlice = append(stringSlice, param.(string))
    }   
    return strings.Join(stringSlice, "_")
}
 
func main() {
    fmt.Println(getName("redis", "slave", "master"))
}

上面的代碼如果類型不匹配,會產生panic錯誤,如果想不產生panic錯誤

str, ok := param.(string)

如果ok為false,則str為空,不報錯。

也可以這樣:

package main 
import (
    "fmt"
    "reflect"
    "strings"
)
 
func getName(params ...interface{}) string {
    var stringSlice []string
    for _, param := range params {
        stringSlice = append(stringSlice, param.(string))
    }   
    return strings.Join(stringSlice, "_")
}
 
func main() {
    var aa []interface{} = make([]interface{}, 3)
    aa[0] = "redis" 
    aa[1] = "slave" 
    aa[2] = "master" 
    fmt.Println(reflect.TypeOf(aa))
    fmt.Println(reflect.TypeOf(aa[0]))
    fmt.Println(getName(aa...))
}

輸出:

[]interface {}

string

redis_slave_master

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 手把手教你導入Go語言第三方庫
  • golang gopm get -g -v 無法獲取第三方庫的解決方案
  • golang 輸出重定向:fmt Log,子進程Log,第三方庫logrus的詳解
  • golang值類型轉換成[]uint8類型的操作
  • Mongodb 利用mongoshell進行數據類型轉換的實現方法
  • Go語言string,int,int64 ,float之間類型轉換方法
  • GO語言類型轉換和類型斷言實例分析
  • Go 第三方庫之類型轉換問題

標簽:銅川 汕頭 欽州 蘭州 重慶 吐魯番 梅河口 雞西

巨人網絡通訊聲明:本文標題《go 類型轉換方式(interface 類型的轉換)》,本文關鍵詞  類型,轉換,方式,interface,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《go 類型轉換方式(interface 類型的轉換)》相關的同類信息!
  • 本頁收集關于go 類型轉換方式(interface 類型的轉換)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 耒阳市| 招远市| 广河县| 崇明县| 凤庆县| 如东县| 五常市| 南平市| 鄂托克旗| 淮北市| 石楼县| 比如县| 晋城| 崇仁县| 河北区| 辉县市| 内丘县| 颍上县| 大余县| 略阳县| 柳河县| 麻城市| 平南县| 水城县| 冷水江市| 申扎县| 社会| 黔西县| 拉萨市| 胶南市| 化隆| 崇州市| 浠水县| 克什克腾旗| 炎陵县| 海城市| 会昌县| 宁远县| 仁怀市| 平江县| 伊宁市|