Go에서 int 값을 문자열로 변환하는 방법은 무엇입니까
Suraj Joshi
2023년12월11일
데이터 유형에 따라 유형에 지정할 수있는 값과 해당 유형에 대해 수행 할 수있는 작업이 결정됩니다. 데이터 유형 변환은 프로그래밍에서 널리 사용되며 데이터 유형 변환 중에서 int를 문자열 값으로 변환하는 것이 널리 사용됩니다.
화면에 숫자를 인쇄하거나 문자열처럼 숫자로 작업하는 동안 사용됩니다. Go는 표준 라이브러리strconv
에서 온 패키지에서 직접 문자열과 정수 변환을 제공합니다.
일반int
에서string
로의 변환을 사용하면 정수 값은 유니 코드 코드 포인트로 해석됩니다. 그리고 결과 문자열에는 코드 포인트로 표현 된 문자가UTF-8
로 인코딩됩니다.
package main
import "fmt"
func main() {
s := string(97)
fmt.Printf("Value of 97 after conversion : %v\n", s)
}
출력:
Value of 97 after conversion : a
그러나 이것은 바람직하지 않으므로 정수를 문자열 데이터 유형으로 변환하기 위해 몇 가지 표준 함수를 사용합니다.
strconv
패키지의Itoa
기능
strconv
는 기본 데이터 유형의 문자열 표현과의 변환을 구현합니다. 정수를 문자열로 변환하기 위해strconv
패키지의Itoa
함수를 사용합니다.
package main
import (
"fmt"
"strconv"
)
func main() {
x := 138
fmt.Printf("Datatype of 138 before conversion : %T\n", x)
a := strconv.Itoa(x)
fmt.Printf("Datatype of 138 after conversion : %T\n", a)
fmt.Println("Number: " + a)
}
출력:
Datatype of 138 before conversion : int
Datatype of 138 after conversion : string
Number: 138
strconv
패키지의FormatInt
함수
우리는strconv.FormatInt
를 사용하여 주어진베이스에서int64
를 포맷합니다. FormatInt
는 위의 기수에있는 정수의 문자열 표현을 제공하며2
<= base
<= 36
의 경우 결과는 숫자 값>= 10
에 소문자 a-z를 사용합니다.
package main
import (
"fmt"
"strconv"
)
func main() {
var integer_1 int64 = 31
fmt.Printf("Value of integer_1 before conversion : %v\n", integer_1)
fmt.Printf("Datatype of integer_1 before conversion : %T\n", integer_1)
var string_1 string = strconv.FormatInt(integer_1, 10)
fmt.Printf("Value of integer_1 after conversion in base 10: %v\n", string_1)
fmt.Printf("Datatype of integer_1 after conversion in base 10 : %T\n", string_1)
var string_2 string = strconv.FormatInt(integer_1, 16)
fmt.Printf("Value of integer_1 after conversion in base 16 : %v\n", string_2)
fmt.Printf("Datatype of integer_1 after conversion in base 16 : %T\n", string_2)
}
출력:
Value of integer_1 before conversion : 31
Datatype of integer_1 before conversion : int64
Value of integer_1 after conversion in base 10: 31
Datatype of integer_1 after conversion in base 10 : string
Value of integer_1 after conversion in base 16 : 1f
Datatype of integer_1 after conversion in base 16 : string
fmt.Sprint
방법
fmt.Sprint
메소드에 정수를 전달하면 정수의 문자열 값을 얻습니다.
package main
import (
"fmt"
)
func main() {
x := 138
fmt.Printf("Datatype of 138 before conversion : %T\n", x)
a := fmt.Sprint(x)
fmt.Printf("Datatype of 138 after conversion : %T\n", a)
fmt.Println("Number: " + a)
}
출력:
Datatype of 138 before conversion : int
Datatype of 138 after conversion : string
Number: 138
작가: Suraj Joshi
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn