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

10957 단어 go
Originally posted here!

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

  • TL; DR




    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        // convert `string` type value of "true"
        // using the `ParseBool()` method by passing
        // the value "true" as its argument
        convertedBoolVal, err := strconv.ParseBool("true")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error())
            return
        }
    
        // log output of the `convertedBoolVal`
        // variable to the console
        fmt.Println(convertedBoolVal) // true and the type is bool ✅
    }
    


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

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

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


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

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

    package main
    
    // import `strconv` package
    import "strconv"
    
    func main(){
        // convert `string` type value of "true"
        // using the `ParseBool()` method by passing
        // the value "true" as its argument
        strconv.ParseBool("true")
    }
    

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

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

    package main
    
    // import `strconv` package
    import "strconv"
    
    func main(){
        // convert `string` type value of "true"
        // using the `ParseBool()` method by passing
        // the value "true" as its argument
        convertedBoolVal, err := strconv.ParseBool("true")
    }
    


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

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

    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main(){
        // convert `string` type value of "true"
        // using the `ParseBool()` method by passing
        // the value "true" as its argument
        convertedBoolVal, err := strconv.ParseBool("true")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error())
            return
        }
    }
    


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

    package main
    
    // import `strconv` package
    import (
        "fmt"
        "strconv"
    )
    
    func main() {
        // convert `string` type value of "true"
        // using the `ParseBool()` method by passing
        // the value "true" as its argument
        convertedBoolVal, err := strconv.ParseBool("true")
        // check if any error happened
        if err != nil {
            fmt.Println(err.Error())
            return
        }
    
        // log output of the `convertedBoolVal`
        // variable to the console
        fmt.Println(convertedBoolVal) // true and the type is bool ✅
    }
    


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

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

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

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


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

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

    그게 다야 😃!

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

    좋은 웹페이지 즐겨찾기