Go 또는 Golang에서 문자열 유형 값을 int 유형 값으로 변환하는 방법은 무엇입니까?

10884 단어 go
Originally posted here!
string 유형 값을 int 유형 값으로 변환하려면 Go 또는 Golang의 Atoi() 표준 패키지에서 strconv 메서드를 사용할 수 있습니다.
Atoi() 방법:
  • string 유형 값을 인수로 허용합니다
  • .
  • 그리고 2개의 값을 반환합니다. 첫 번째 값은 변환된 int 유형 값이고 두 번째 값은 error 데이터입니다(있는 경우).

  • TL;DR




    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        // convert `string` type value of "3000"
        // using the `Atoi()` method and passing
        // the value "3000" as an argument to it
        convertedIntvalue, err := strconv.Atoi("3000")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error())
            return
        }
    
        // log output of the `convertedIntvalue`
        // variable to the console
        fmt.Println(convertedIntvalue) // 3000 and the type is int ✅
    }
    


    예를 들어 string"3000" 유형 값을 해당하는 int 유형 값으로 변환해야 한다고 가정해 보겠습니다.

    이를 위해 먼저 strconv 표준 패키지를 다음과 같이 가져옵니다.

    package main
    
    // import `strconv` package
    import "strconv"
    


    패키지를 가져온 후 main() 함수 내에서 Atoi() 패키지의 strconv 메서드를 사용하고 string"3000" 유형 값을 함수의 인수로 전달할 수 있습니다.

    다음과 같이 할 수 있습니다.

    package main
    
    // import `strconv` package
    import "strconv"
    
    func main(){
        // convert `string` type value of "3000"
        // using the `Atoi()` method and passing
        // the value "3000" as an argument to it
        strconv.Atoi("3000")
    }
    

    Atoi() 메서드는 성공적으로 변환된 경우 첫 번째 값이 변환된 int 유형 값이고 두 번째 값이 변환 중에 발생한 경우 error 데이터인 2개의 값을 반환합니다. 이 2개의 데이터를 캡처하기 위해 2개의 변수를 할당해 보겠습니다.

    다음과 같이 할 수 있습니다.

    package main
    
    // import `strconv` package
    import "strconv"
    
    func main(){
        // convert `string` type value of "3000"
        // using the `Atoi()` method and passing
        // the value "3000" as an argument to it
        convertedIntvalue, err := strconv.Atoi("3000")
    }
    


    변환된 값int을 처리하기 전에 변환 프로세스 중에 오류가 있었는지 확인해야 합니다. 간단한 if 조건문을 사용하여 err 데이터 변수가 nil인지 확인합니다. 그렇지 않은 경우nil 변환 중에 오류가 발생한 것입니다.

    다음과 같이 할 수 있습니다.

    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main(){
        // convert `string` type value of "3000"
        // using the `Atoi()` method and passing
        // the value "3000" as an argument to it
        convertedIntvalue, err := strconv.Atoi("3000")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error())
            return
        }
    }
    


    오류가 없으면 convertedIntvalue 변수에 변환된 int 유형 값이 있어야 한다고 가정하는 것이 안전합니다. 다음과 같이 출력을 콘솔에 기록해 보겠습니다.

    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        // convert `string` type value of "3000"
        // using the `Atoi()` method and passing
        // the value "3000" as an argument to it
        convertedIntvalue, err := strconv.Atoi("3000")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error())
            return
        }
    
        // log output of the `convertedIntvalue`
        // variable to the console
        fmt.Println(convertedIntvalue) // 3000 and the type is int ✅
    }
    


    보시다시피 string"3000" 유형 값이 우리가 원하는 해당 int 유형 값으로 성공적으로 변환되었습니다.

    The Go Playground에 있는 위의 코드를 참조하십시오.

    이제 string와 같이 알파벳으로 구성된 John Doe 타입 값을 주고 이를 int 타입 값으로 변환해 봅시다.

    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        // convert `string` type value of "John Doe"
        // using the `Atoi()` method and passing
        // the value "John Doe" as an argument to it
        convertedIntvalue, err := strconv.Atoi("John Doe")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error()) // Error ❌. strconv.Atoi: parsing "John Doe": invalid syntax
            return
        }
    
        // log output of the `convertedIntvalue`
        // variable to the console
        fmt.Println(convertedIntvalue)
    }
    


    보시다시피 Go 컴파일러는 strconv.Atoi: parsing "John Doe": invalid syntax라는 오류를 표시합니다. 이는 본질적으로 이 값을 해당하는 int 유형 값으로 구문 분석할 수 없음을 의미합니다.

    The Go Playground에 있는 위의 코드를 참조하십시오.

    그게 다야 😃!

    이 정보가 유용하다고 생각되면 자유롭게 공유하세요 😃.

    좋은 웹페이지 즐겨찾기