Go에서 int 값을 문자열로 변환하는 방법은 무엇입니까

  1. strconv 패키지의Itoa 기능
  2. strconv 패키지의FormatInt 함수
  3. fmt.Sprint 방법

데이터 유형에 따라 유형에 지정할 수있는 값과 해당 유형에 대해 수행 할 수있는 작업이 결정됩니다. 데이터 유형 변환은 프로그래밍에서 널리 사용되며 데이터 유형 변환 중에서 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

관련 문장 - Go Strings

  • Go에서 문자열을 정수 유형으로 변환하는 방법