>백엔드 개발 >Golang >Golang에서 \'잘못된 작업: new_str str[i 1] (일치하지 않는 유형 문자열 및 바이트)\'을 수정하는 방법은 무엇입니까?

Golang에서 \'잘못된 작업: new_str str[i 1] (일치하지 않는 유형 문자열 및 바이트)\'을 수정하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-03 13:38:30663검색

How to Fix

Golang의 유형 불일치: 오류 해결(일치하지 않는 유형의 문자열 및 바이트)

Golang에서 "잘못된 작업" 오류가 발생할 수 있습니다. : new_str str[i 1] (일치하지 않는 유형 문자열 및 바이트)" 유형 불일치로 인해 발생합니다. 이 오류는 바이트(str[i 1])를 문자열(new_str)과 연결하려고 할 때 발생합니다. Go에서는 명시적인 유형 변환을 요구합니다.

제공된 예제 코드에서 이 오류는 g 및 f 함수에서 발생합니다.

  • g에서 new_str과 str[i 1]의 연결 유형 변환이 필요합니다. 올바른 구문은 new_str = new_str string(str[i 1])입니다.
  • f에서 f(g(str))와 str[0]을 연결하려면 유형 변환도 필요합니다. 수정된 코드는 return f(g(str)) string(str[0])입니다.

바이트를 명시적으로 문자열로 변환하면 유형 불일치를 해결하고 오류를 방지할 수 있습니다. 다음은 필요한 변환이 포함된 수정된 코드 조각입니다.

<code class="go">package main

func g(str string) string {
    var i = 0
    var new_str = ""
    for i < len(str)-1 {
        new_str = new_str + string(str[i+1])
        i = i + 1
    }
    return new_str
}

func f(str string) string {
    if len(str) == 0 {
        return ""
    } else if len(str) == 1 {
        return str
    } else {
        return f(g(str)) + string(str[0])
    }
}

func main() {
    // ...
}</code>

위 내용은 Golang에서 '잘못된 작업: new_str str[i 1] (일치하지 않는 유형 문자열 및 바이트)'을 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.