34

PHP の ' implode ' に相当する 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 に答える