Go相当于PHP';s';内爆;


Go equivalent of PHP's 'implode'

什么是相当于PHP的"内爆"的Go?

在标准库中:strings.Join

func Join(a []string, sep string) string

http://golang.org/pkg/strings/#Join

干杯!

加入字符串库。它要求输入数组只能是字符串(因为Go是强类型的)。

以下是手册中的一个示例:

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
s := []string{"this", "is", "a", "joined", "string'n"};
strings.Join(s, " ");

这对你有帮助吗?

我记得,PHP没有严格的类型。使用这样的东西可能不是最糟糕的主意。

package main
import (
    "fmt"
    "strings"
)
func Implode(glue string, args ...interface{}) string {
    data := make([]string, len(args))
    for i, s := range args {
        data[i] = fmt.Sprint(s)
    }
    return strings.Join(data, glue)
}
type S struct {
    z float64
}
func main() {
    v := Implode(", ", 1, "2", "0.2", .1, S{});
    fmt.Println(v)
}