developer tip

문자열을 int64로 변환하는 Golang

copycodes 2020. 12. 6. 21:41
반응형

문자열을 int64로 변환하는 Golang


문자열을 int64로 변환하고 싶습니다. strconv패키지 에서 찾은 것은 Atoi기능입니다. 문자열을 int로 캐스팅하고 반환하는 것 같습니다.

// Atoi is shorthand for ParseInt(s, 10, 0).
func Atoi(s string) (i int, err error) {
        i64, err := ParseInt(s, 10, 0)
    return int(i64), err
}

ParseInt는 실제로 int64를 반환합니다.

func ParseInt(s string, base int, bitSize int) (i int64, err error){
     //...
}

따라서 문자열에서 int64를 얻으려면 Atoi를 사용하지 말고 대신 ParseInt를 사용해야합니까? 아니면 어딘가에 Atio64가 숨겨져 있습니까?


아니요, Atoi64가 없습니다. 또한 64를 ParseInt의 마지막 매개 변수로 전달해야합니다. 그렇지 않으면 32 비트 시스템에서 예상 값이 생성되지 않을 수 있습니다.


문자열을 int64 예제로 구문 분석 :

// Use the max value for signed 64 integer. http://golang.org/pkg/builtin/#int64
var s string = "9223372036854775807"
i, err := strconv.ParseInt(s, 10, 64)
if err != nil {
    panic(err)
}
fmt.Printf("Hello, %v with type %s!\n", i, reflect.TypeOf(i))

산출:

안녕하세요, int64 유형의 9223372036854775807입니다!

https://play.golang.org/p/XOKkE6WWer

참고 URL : https://stackoverflow.com/questions/21532113/golang-converting-string-to-int64

반응형