Go에서 문자열을 Int64로 변환

Jay Singh 2022년8월23일
Go에서 문자열을 Int64로 변환

int는 일반적으로 인덱스, 길이 또는 용량에 사용됩니다. int 유형은 항상 배열의 최대 길이를 처리할 수 있을 만큼 충분히 큽니다.

데이터 유형 int8, int16, int32 및 int64(및 서명되지 않은 사촌 포함)가 가장 좋습니다. 메모리가 문제가 아닌 경우 int64가 가장 일반적인 선택입니다.

이 포스트에서는 문자열을 int64로 변환할 것입니다.

Go에서 Parselnt()를 사용하여 문자열을 Int64로 변환

strconv.ParseInt()는 10진수 문자열(기본 10)을 구문 분석하고 int64에 맞는지 확인하는 Go의 내장 함수입니다. 구현은 int의 크기를 결정합니다. 32 또는 64비트일 수 있으므로 int에서 int64로 전환해도 데이터 손실이 발생하지 않습니다.

이 예에서 strconv.ParseInt()는 10진수 문자열(밑수 10)을 64비트 부호 있는 정수로 변환하고 맞는지 확인하는 데 사용됩니다.

package main

import (
    "fmt"
    "strconv"
)

func main() {
    str := "10101101"
    n, err := strconv.ParseInt(str, 10, 64)
    if err == nil {
        fmt.Printf("%d is type %T", n, n)
    }
}

출력:

10101101 is type int64

또한 ParseInt는 문자열을 번역하고 제공된 기수(0, 2 ~ 36) 및 비트 크기(0 ~ 64)의 적절한 값을 반환합니다. 이 메서드는 문자열 매개변수를 사용하고 기본 매개변수를 사용하여 int 유형으로 변환합니다.

기본적으로 Int64 값을 반환합니다.

package main

import (
    "fmt"
    "reflect"
    "strconv"
)

func main() {
    strVar := "110"

    intVar, err := strconv.ParseInt(strVar, 0, 8)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 16)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 32)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))

    intVar, err = strconv.ParseInt(strVar, 0, 64)
    fmt.Println(intVar, err, reflect.TypeOf(intVar))
}

출력:

110 <nil> int64
110 <nil> int64
110 <nil> int64
110 <nil> int64

관련 문장 - Go String