go []interface{}的类型转换

package main

import (
    "fmt"
    "strings"
)

func getName(params ...interface{}) {
    var stringSlice []string
    for _, param := range params {
        stringSlice = append(stringSlice, param.(string))
    }   
    aa := strings.Join(stringSlice, "_")
    fmt.Println(aa)
}

func main() {
    getName("redis", "100","master")
}

上面的代码如果类型不匹配,会产生panic错误,如果想不产生panic错误

str, ok := param.(string)

如果ok为false,则str为空,不报错。

猜你喜欢

转载自blog.csdn.net/busai2/article/details/81389820