以下是代码:
产生如下错误:
这很有道理,因为Foo不是字符串,而是从字符串派生出来的。有没有办法在不复制的情况下强制将"[]Foo"转换为"[]string"?
package main
import "strings"
import "fmt"
type Foo string
const (
Bar Foo = "bar"
Snafu = "snafu"
Foobar = "foobar"
)
var Foos = []Foo{Bar, Snafu, Foobar}
func main() {
fmt.Println("Foos: " + strings.Join(Foos, ","))
}
产生如下错误:
./test.go:17: cannot use Foos (type []Foo) as type []string in argument to strings.Join
这很有道理,因为Foo不是字符串,而是从字符串派生出来的。有没有办法在不复制的情况下强制将"[]Foo"转换为"[]string"?
results := make([]string, len(Foos))
,而不是results := make([]string, 0)
。 - OneOfOneresults := make([]string, 0, len(Foos))
,已更新答案。 - OneOfOne