为了账号安全,请及时绑定邮箱和手机立即绑定

golang 将字符串添加到切片 ...interface{}

golang 将字符串添加到切片 ...interface{}

Go
慕妹3242003 2021-11-29 16:19:43
我有一个作为参数的方法v ...interface{},我需要在这个切片前面加上一个string. 这是方法:func (l Log) Error(v ...interface{}) {  l.Out.Println(append([]string{" ERROR "}, v...))}当我尝试append()它不起作用时:> append("some string", v)first argument to append must be slice; have untyped string> append([]string{"some string"}, v)cannot use v (type []interface {}) as type string in append在这种情况下预先准备的正确方法是什么?
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

append() 只能附加与切片元素类型匹配的类型的值:


func append(slice []Type, elems ...Type) []Type

因此,如果您有元素 as []interface{},则必须将首字母包装string在 a[]interface{}中才能使用append():


s := "first"

rest := []interface{}{"second", 3}


all := append([]interface{}{s}, rest...)

fmt.Println(all)

输出(在Go Playground上试试):


[first second 3]


查看完整回答
反对 回复 2021-11-29
  • 1 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信