GO에서 문자열과 다른 데이터 유형 간의 변환이 일반적인 작업입니다. GO는 이러한 변환을 수행하기위한 몇 가지 내장 기능과 방법을 제공합니다. 이러한 전환을 이해하는 열쇠는 언어가 제공하는 특정 기능과 방법을 아는 데 있습니다. 다음은 몇 가지 일반적인 원칙과 예입니다.
문자열에서 다른 유형으로 :
strconv.Atoi()
함수를 사용할 수 있습니다.strconv.ParseFloat()
사용할 수 있습니다.strconv.ParseBool()
사용할 수 있습니다.다른 유형에서 문자열로 :
strconv.Itoa()
또는 fmt.Sprintf()
사용할 수 있습니다.strconv.FormatFloat()
또는 fmt.Sprintf()
사용할 수 있습니다.strconv.FormatBool()
또는 fmt.Sprintf()
사용할 수 있습니다.바이트 슬라이스에 문자열 :
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에서 이러한 작업에 특히 유용합니다.
이동 중에 정수를 문자열로 변환하는 데 사용되는 두 가지 주요 기능이 있습니다.
strconv.Itoa()
:이 함수는 정수 값을 문자열 표현으로 변환합니다. 간단하고 정수와 만 작동합니다.
예:
<code class="go">num := 42 str := strconv.Itoa(num) fmt.Println(str) // Output: 42</code>
fmt.Sprintf()
:이 기능은 다재다능하며 정수를 포함한 다양한 데이터 유형을 문자열로 변환하는 데 사용할 수 있습니다. 형식 지정자를 사용하여 출력을 형식화합니다.
예:
<code class="go">num := 42 str := fmt.Sprintf("%d", num) fmt.Println(str) // Output: 42</code>
두 함수 모두 일반적으로 사용되지만 strconv.Itoa()
는 정수-스트링 변환을 위해 특별히 설계 되었으며이 목적을 위해 더 간결합니다.
이동 중에 문자열을 플로트로 변환하려면 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에서는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!