Go语言中与PHP的'implode'函数相对应的函数是什么?

44

Go语言中与PHP的'implode'等价的函数是什么?


http://stackoverflow.com/tags/go/info - code_martial
http://en.wikipedia.org/wiki/Go_%28programming_language%29 - Dmytro Zarezenko
4个回答

70

非常感谢!我花了大约半个小时搜索,而stackoverflow在不到5分钟内为我提供了答案!另一方面,我现在感觉有点傻,因为我没有浏览“strings”包的文档。 - code_martial

13

Join 是在 strings 库中的一个函数。它要求输入的数组必须只包含字符串类型(因为Go是强类型语言)。

下面是来自手册的一个示例:

s := []string{"foo", "bar", "baz"}
fmt.Println(strings.Join(s, ", "))

7
s := []string{"this", "is", "a", "joined", "string\n"};
strings.Join(s, " ");

这篇文章是否对您有帮助?

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)
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接