当前位置: 首页 > 面试题库 >

golang将字符串添加到slice…interface {}

章承
2023-03-14
问题内容

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

所以,如果你有元素[]interface{},你必须包装您最初string[]interface{}以能够使用append()

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

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

输出(在Go Playground上尝试):

[first second 3]


 类似资料:
  • 问题内容: 我在Java程序中有两个字符串,我想以某种方式混合以形成两个新字符串。为此,我必须从每个字符串中提取一些构成字符并将其添加以形成新的字符串。我有这样的代码(this.eka和this.toka是原始字符串): 我正在获取.charAt(x)部分的数字,那么如何将字符转换为字符串? 问题答案: 只使用永远使用代替 例如,当位置arent不是固定值而变量 其中x,y,z是保存从中提取位置的

  • 问题内容: 我是Java新手,所以我几乎不需要帮助 我有 我想向此数组(脚本)添加新的字符串(string1,string2)作为示例 我想在以后的阶段中不添加新字符串 我该怎么办? 问题答案: 您无法在Java中调整数组的大小。 声明数组的大小后,它将保持固定。 相反,您可以使用具有动态大小的对象,这意味着您无需担心其大小。如果数组列表的大小不足以容纳新值,则它将自动调整大小。

  • 问题内容: 当我使用定义变量时,该字符串不会添加到字符串池中,对吗? 现在,当我定义另一个而不是时,我将其定义为突然。(或我的大学老师说)。这是为什么?是什么使这个字符串突然变成字符串池字符串? 问题答案: 当我用new定义一个StringBuffer变量时,该字符串没有添加到字符串池中,对吗? 创建a 根本不会创建a 。 现在,当我定义另一个StringBuffer而不是new时,我突然将其定义

  • 问题内容: 我希望能够在javascript中说出这样的话: 如何将自己的距离函数添加到字符串类? 问题答案: 您可以扩展原型; …并像这样使用它;

  • 本文向大家介绍将尾随零添加到Python字符串,包括了将尾随零添加到Python字符串的使用技巧和注意事项,需要的朋友参考一下 作为数据处理活动的一部分,有时我们需要在一个字符串后附加另一个字符串。在本文中,我们将看到如何将动态零数字附加到给定的字符串。可以通过使用以下程序中所示的各种字符串函数来完成此操作。 使用ljust和len Python字符串方法返回以长度为宽度的字符串左对齐的字符串。使

  • 问题内容: 使用Python v2,我在程序中运行一个值,该值末尾将一个数字四舍五入到小数点后两位: 像这样: 有没有办法在小数点后每三位插入一个逗号值? 即:10000.00变成10,000.00或1000000.00变成1,000,000.00 谢谢你的帮助。 问题答案: 在Python 2.7和3.x中,可以使用格式语法 这是在记录PEP 378 -格式说明千位分隔符 并且在一个例子官方文档