> 백엔드 개발 > Golang > GO에서 문자열과 다른 데이터 유형을 어떻게 변환합니까?

GO에서 문자열과 다른 데이터 유형을 어떻게 변환합니까?

Emily Anne Brown
풀어 주다: 2025-03-20 18:07:04
원래의
923명이 탐색했습니다.

GO에서 문자열과 다른 데이터 유형을 어떻게 변환합니까?

GO에서 문자열과 다른 데이터 유형 간의 변환이 일반적인 작업입니다. GO는 이러한 변환을 수행하기위한 몇 가지 내장 기능과 방법을 제공합니다. 이러한 전환을 이해하는 열쇠는 언어가 제공하는 특정 기능과 방법을 아는 데 있습니다. 다음은 몇 가지 일반적인 원칙과 예입니다.

  1. 문자열에서 다른 유형으로 :

    • 문자열을 정수로 변환하려면 strconv.Atoi() 함수를 사용할 수 있습니다.
    • 문자열을 부동 소수점 번호로 변환하려면 strconv.ParseFloat() 사용할 수 있습니다.
    • 문자열을 부울로 변환하려면 strconv.ParseBool() 사용할 수 있습니다.
  2. 다른 유형에서 문자열로 :

    • 정수를 문자열로 변환하려면 strconv.Itoa() 또는 fmt.Sprintf() 사용할 수 있습니다.
    • 부동 소수점 번호를 문자열로 변환하려면 strconv.FormatFloat() 또는 fmt.Sprintf() 사용할 수 있습니다.
    • 부울을 문자열로 변환하려면 strconv.FormatBool() 또는 fmt.Sprintf() 사용할 수 있습니다.
  3. 바이트 슬라이스에 문자열 :

    • Go는 string() 함수를 제공하여 바이트 슬라이스 ( []byte )를 String으로 직접 변환합니다.

다음은 이러한 전환을 설명하기위한 몇 가지 예입니다.

 <code class="go">// String to Integer strNum := "123" num, err := strconv.Atoi(strNum) if err != nil { fmt.Println("Error converting string to integer:", err) } else { fmt.Println("Converted integer:", num) } // Integer to String num := 123 strNum := strconv.Itoa(num) fmt.Println("Converted string:", strNum) // String to Float strFloat := "123.45" floatNum, err := strconv.ParseFloat(strFloat, 64) if err != nil { fmt.Println("Error converting string to float:", err) } else { fmt.Println("Converted float:", floatNum) } // Float to String floatNum := 123.45 strFloat := strconv.FormatFloat(floatNum, 'f', -1, 64) fmt.Println("Converted string:", strFloat) // String to Boolean strBool := "true" boolValue, err := strconv.ParseBool(strBool) if err != nil { fmt.Println("Error converting string to boolean:", err) } else { fmt.Println("Converted boolean:", boolValue) } // Boolean to String boolValue := true strBool := strconv.FormatBool(boolValue) fmt.Println("Converted string:", strBool) // Byte Slice to String byteSlice := []byte{72, 101, 108, 108, 111} str := string(byteSlice) fmt.Println("Converted string:", str)</code>
로그인 후 복사

이 예제는 유형 변환을 수행하기 위해 다양한 strconv 패키지 기능의 사용을 보여줍니다. strconv 패키지는 GO에서 이러한 작업에 특히 유용합니다.

정수를 GO에서 문자열로 변환하는 데 사용되는 특정 기능은 무엇입니까?

이동 중에 정수를 문자열로 변환하는 데 사용되는 두 가지 주요 기능이 있습니다.

  1. strconv.Itoa() :이 함수는 정수 값을 문자열 표현으로 변환합니다. 간단하고 정수와 만 작동합니다.

    예:

     <code class="go">num := 42 str := strconv.Itoa(num) fmt.Println(str) // Output: 42</code>
    로그인 후 복사
  2. fmt.Sprintf() :이 기능은 다재다능하며 정수를 포함한 다양한 데이터 유형을 문자열로 변환하는 데 사용할 수 있습니다. 형식 지정자를 사용하여 출력을 형식화합니다.

    예:

     <code class="go">num := 42 str := fmt.Sprintf("%d", num) fmt.Println(str) // Output: 42</code>
    로그인 후 복사

두 함수 모두 일반적으로 사용되지만 strconv.Itoa() 는 정수-스트링 변환을 위해 특별히 설계 되었으며이 목적을 위해 더 간결합니다.

문자열을 GO 프로그래밍에서 플로트로 어떻게 변환 할 수 있습니까?

이동 중에 문자열을 플로트로 변환하려면 strconv 패키지에서 strconv.ParseFloat() 함수를 사용할 수 있습니다. 이 함수는 두 가지 인수, 즉 변환 할 문자열과 플로트의 비트 크기 (32 또는 64)를 취합니다.

strconv.ParseFloat() 사용하는 방법은 다음과 같습니다.

 <code class="go">strFloat := "123.45" floatNum, err := strconv.ParseFloat(strFloat, 64) if err != nil { fmt.Println("Error converting string to float:", err) } else { fmt.Println("Converted float:", floatNum) }</code>
로그인 후 복사

이 예에서, strconv.ParseFloat(strFloat, 64) 문자열 "123.45" float64 로 변환하려고 시도합니다. 함수는 변환 된 플로트와 오류의 두 값을 반환합니다. 변환이 실패한 경우 (예 : 문자열에 숫자가 아닌 문자가 포함 된 경우)를 처리하려면 항상 오류를 확인해야합니다.

바이트 슬라이스를 GO에서 문자열로 변환하는 데 사용할 수있는 방법은 무엇입니까?

Go에서는 string() 함수를 사용하여 바이트 슬라이스 ( []byte )를 문자열로 변환 할 수 있습니다. 이것은이 변환을 수행하는 가장 일반적이고 간단한 방법입니다.

예는 다음과 같습니다.

 <code class="go">byteSlice := []byte{72, 101, 108, 108, 111} str := string(byteSlice) fmt.Println(str) // Output: Hello</code>
로그인 후 복사

이 예에서, 바이트 슬라이스 {72, 101, 108, 108, 111} 은 문자열 "hello"의 ASCII 값에 해당하며, 이는 문자열 "hello"로 올바르게 변환됩니다.

string() 함수는 효율적이며 추가 처리 또는 메모리 할당없이 바이트 슬라이스를 문자열 표현으로 직접 변환합니다. 이 변환은 기본 데이터를 복사하지 않는다는 점에 유의해야합니다. 바이트 슬라이스와 동일한 메모리를 참조하는 새로운 문자열 값을 만듭니다.

위 내용은 GO에서 문자열과 다른 데이터 유형을 어떻게 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿