답변:
strconv
패키지를 사용하십시오Itoa
기능을 .
예를 들면 다음과 같습니다.
package main
import (
"strconv"
"fmt"
)
func main() {
t := strconv.Itoa(123)
fmt.Println(t)
}
단순히 문자열을 연결 +
하거나 패키지 의 Join
기능을 사용하여 문자열을 연결할 수 있습니다 strings
.
그 흥미 롭다 strconv.Itoa
입니다 속기 위해
func FormatInt(i int64, base int) string
베이스 10
예를 들어 :
strconv.Itoa(123)
에 해당
strconv.FormatInt(int64(123), 10)
당신이 사용할 수있는 fmt.Sprintf
예를 들어 http://play.golang.org/p/bXb1vjYbyc 를 참조 하십시오 .
모두이 경우 strconv
와 fmt.Sprintf
같은 일을 할 수 있지만 사용하여 strconv
패키지의 Itoa
때문에 기능하는 것은 최선의 선택을 fmt.Sprintf
변환하는 동안 하나 이상의 오브젝트를 할당합니다.
여기에서 벤치 마크를 확인하십시오. https://gist.github.com/evalphobia/caee1602969a640a4530
예를 들어 https://play.golang.org/p/hlaz_rMa0D 를 참조 하십시오 .
fmt.Sprintf
및 strconv.iota
사용의 용이성 및 IOTA 빠르게 하부 GC에 영향을 될 수있는 상기 데이터 방송의 관점에서 유사하다, 그 표시가 iota
하나의 정수로 변환해야 할 때 일반적으로 사용되어야한다.
좋아, 그들 대부분은 당신에게 좋은 것을 보여주었습니다. 이것을 드리겠습니다 :
// ToString Change arg to string
func ToString(arg interface{}, timeFormat ...string) string {
if len(timeFormat) > 1 {
log.SetFlags(log.Llongfile | log.LstdFlags)
log.Println(errors.New(fmt.Sprintf("timeFormat's length should be one")))
}
var tmp = reflect.Indirect(reflect.ValueOf(arg)).Interface()
switch v := tmp.(type) {
case int:
return strconv.Itoa(v)
case int8:
return strconv.FormatInt(int64(v), 10)
case int16:
return strconv.FormatInt(int64(v), 10)
case int32:
return strconv.FormatInt(int64(v), 10)
case int64:
return strconv.FormatInt(v, 10)
case string:
return v
case float32:
return strconv.FormatFloat(float64(v), 'f', -1, 32)
case float64:
return strconv.FormatFloat(v, 'f', -1, 64)
case time.Time:
if len(timeFormat) == 1 {
return v.Format(timeFormat[0])
}
return v.Format("2006-01-02 15:04:05")
case jsoncrack.Time:
if len(timeFormat) == 1 {
return v.Time().Format(timeFormat[0])
}
return v.Time().Format("2006-01-02 15:04:05")
case fmt.Stringer:
return v.String()
case reflect.Value:
return ToString(v.Interface(), timeFormat...)
default:
return ""
}
}
package main
import (
"fmt"
"strconv"
)
func main(){
//First question: how to get int string?
intValue := 123
// keeping it in separate variable :
strValue := strconv.Itoa(intValue)
fmt.Println(strValue)
//Second question: how to concat two strings?
firstStr := "ab"
secondStr := "c"
s := firstStr + secondStr
fmt.Println(s)
}