645
i := 123
s := string(i) 

sは「E」ですが、欲しいのは「123」です

「123」の入手方法を教えてください。

そしてJavaでは、私はこのように行うことができます:

String s = "ab" + "c"  // s is "abc"

concatGoで2つの文字列を使用するにはどうすればよいですか?

4

10 に答える 10

1005

strconvパッケージのItoa関数を使用します。

例えば:

package main

import (
    "strconv"
    "fmt"
)

func main() {
    t := strconv.Itoa(123)
    fmt.Println(t)
}

文字列を連結するか、パッケージの関数を+使用するだけで、文字列を連結できます。Joinstrings

于 2012-04-11T12:33:55.287 に答える
69

fmt.Sprintfstrconv.Itoaそしてstrconv.FormatInt仕事をします。ただしSprintf、 package を使用するreflectと、もう 1 つのオブジェクトが割り当てられるため、効率的な選択ではありません。

ここに画像の説明を入力

于 2016-05-31T10:04:07.370 に答える
43

fmt.Sprintfまたはstrconv.FormatFloatを使用できます

例えば

package main

import (
    "fmt"
)

func main() {
    val := 14.7
    s := fmt.Sprintf("%f", val)
    fmt.Println(s)
}
于 2012-04-11T21:26:31.613 に答える
30

この場合、両方ともstrconv同じfmt.Sprintf仕事をしますが、変換中にもう 1 つのオブジェクトを割り当てるため、strconvパッケージのItoa関数を使用するのが最善の選択です。fmt.Sprintf

両方の nenchmark 結果を確認してください ここでベンチマークを確認してください: https://gist.github.com/evalphobia/caee1602969a640a4530

たとえば、https://play.golang.org/p/hlaz_rMa0Dを参照してください。

于 2016-06-28T13:24:42.050 に答える