登录
首页 >  Golang >  Go问答

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

来源:Golang技术栈

时间:2023-03-31 16:20:57 296浏览 收藏

有志者,事竟成!如果你在学习Golang,那么本文《golang 将字符串添加到切片 ...interface{}》,就很适合你!文章讲解的知识点主要包括golang,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我有一个作为参数的方法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

在这种情况下,前置的正确方法是什么?

正确答案

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]

到这里,我们也就讲完了《golang 将字符串添加到切片 ...interface{}》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注golang学习网公众号,带你了解更多关于golang的知识点!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>