在Golang 中,将 interface{} 类型转换为 string 类型通常需要使用类型断言(Type Assertion)或类型转换函数。 方法一:使用类型断言 类型断言是一种检查接口值是否持有特定类型的方法。如果接口值确实持有该类型,类型断言会返回该类型的值。 go package main import ( "fmt" ) func main() {
Golang中interface类型转string类型 //Strval 获取变量的字符串值//浮点型 3.0将会转换成字符串3, "3"//非数值或字符类型的变量将会被转换成JSON格式字符串func Strval(valueinterface{})string{varkeystringifvalue ==nil {returnkey }switchvalue.(type) {casefloat64: ft :=value.(float64) key= strconv....
int1 := v.(int64) float1 := v.(float64) } 第二种不知道是什么类型 这时候就可以使用类型断言,然后再转为具体类型 复制代码 funcinterface2Type(iinterface{}){switchi.(type) {casestring: fmt.Println("string", i.(string))breakcaseint: fmt.Println("int", i.(int))breakcasefloat64: fmt....
package main import ( "fmt" "strings" ) func getName(params ...interface{}) { var paramSlice []string for _, param := range params { paramSlice = append(paramSlice, param.(string)) } aa := strings.Join(paramSlice, "_") // Join 方法第2个参数是 string 而不是 rune fmt.Println(...
package mainimport ( "fmt""strings")func getName(params ...interface{}) {aa := strings.Join([]string(params), '_')fmt.Println(aa)}func main() {getName("redis", "100","master")} 看上面的代码,我想把传入的参数 params 用 "_" 连接,但是将 params 转成 []string 类...
作为一名pher,在使用golang的过程中,如何简便的实现数据类型转换,成了当下比较头疼的问题; 这里实现了一个任意类型数据转string的的方法: // AnyToStr 任意类型数据转stringfuncAnyToStr(iinterface{})(string,error){ifi==nil{return"",nil}v:=reflect.ValueOf(i)ifv.Kind()==reflect.Ptr{ifv.IsNil(){return...
funcgetName(params...interface{}){ varparamSlice[]string for_,param:=rangeparams{ switchv:=...
直接转的话interface可能会是其他的类型 比如float 然后直接转uint64就失败。如下例子 有些类型之间是不可以直接转换的,需要使用断言。简单的方法 fmt.Sprint()等方法可以直接转成string,然后转成int就可以了。 userIdsStr := m.Converts(nil, reflect.ValueOf(userIds)) ...
直接使用float(i) 或者 int(f) 直接进行转换即可 === golang int转换成string方法: var i int = 10 // 通过Itoa方法转换 str1 := strconv.Itoa(i) // 通过Sprintf方法转换 str2 := fmt.Sprintf("%d", i) === (1)int转string s := ...
golang interface类型转string等其他类型 inter 是interface类型,转化为string类型是: str := inter .(string) 转为其他类型也类似