Go에서 문자열이 불변이라면 어떻게 수정할 수 있나요?

DDD
풀어 주다: 2024-10-26 12:38:29
원래의
944명이 탐색했습니다.

How Can I Modify a String in Go If It's Immutable?

Go의 문자열 변경: "문자열에 할당할 수 없음" 오류 해결

Go 문자열은 변경할 수 없습니다. 즉, 한 번 직접 수정할 수 없습니다. 생성되었습니다. 이 제한으로 인해 문자열 내용을 변경하려고 할 때 "new_str[i]에 할당할 수 없습니다"라는 오류가 발생하는 경우가 많습니다. 이러한 문제를 극복하고 문자열을 수정하려면 대체 접근 방식이 필요합니다.

한 가지 해결책은 문자열을 배열처럼 변경할 수 있는 바이트 슬라이스로 변환하는 것입니다. 이 기술을 사용하면 문자열 내의 문자를 바꿀 수 있습니다. 다음 코드는 이 접근 방식을 보여줍니다.

<code class="go">func ToUpper(str string) string {
    new_str := []byte(str)
    for i := 0; i < len(str); i++ {
        if str[i] >= 'a' && str[i] <= 'z' {
            chr := uint8(rune(str[i]) - 'a' + 'A')
            new_str[i] = chr
        }
    }
    return string(new_str)
}</code>
로그인 후 복사

이 코드에서 문자열 str은 바이트 슬라이스 new_str로 변환됩니다. 그런 다음 각 바이트를 ASCII 소문자 범위와 비교하여 바이트 슬라이스를 반복합니다. 소문자 바이트가 발견되면 해당하는 대문자 ASCII로 대체됩니다. 마지막으로 수정된 바이트 슬라이스는 다시 문자열로 변환되어 반환됩니다.

이 접근 방식을 사용하면 Go에서 문자열의 불변성을 유지하면서 문자열을 변경할 수 있습니다. 다양한 상황에서 문자열을 조작하는 유연하고 효율적인 방법을 제공합니다.

위 내용은 Go에서 문자열이 불변이라면 어떻게 수정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!