Go에서 문자열을 Int64로 변환
Jay Singh
2022년8월23일
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