34

什么是 PHP 的“内”的 Go 等价物?

4

4 回答 4

59

在标准库中:strings.Join

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

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

干杯!

于 2012-08-23T09:44:46.527 回答
11

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

这是手册中的一个示例:

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))
于 2012-08-23T09:45:29.367 回答
6
s := []string{"this", "is", "a", "joined", "string\n"};
strings.Join(s, " ");

这对你有帮助吗?

于 2012-08-23T09:46:43.507 回答
4

我记得,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)
}
于 2016-06-05T14:05:08.177 回答