>백엔드 개발 >Golang >Go에서 \'err Declared and Not Used\' 오류가 발생하는 이유는 무엇입니까?

Go에서 \'err Declared and Not Used\' 오류가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-19 15:31:02747검색

Why Does Go Give an

Go에서 활용되지 않는 변수

Go 프로그래밍에서는 선언된 변수를 활용하는 것이 필수입니다. 코드 범위 내에서 사용되지 않은 상태로 남아 있는 변수를 선언하면 "err 선언되었지만 사용되지 않음"이라는 컴파일 오류가 발생할 수 있습니다. 이 오류는 섀도우 문제를 나타내지 않습니다.

주어진 코드 조각에서:

package main

import (
    "fmt"
)

func main() {
    var (
        err error
        dto = make(map[string]interface{})
    )

    dto[`thing`], err = getThings()
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}

사용하지 않는 err 변수로 인해 오류가 발생합니다. 선언되었지만 getThings() 호출 중에만 값이 할당되고 더 이상 활용되지 않습니다.

Go의 FAQ에 따르면 "사용되지 않는 변수가 있으면 버그를 나타낼 수 있습니다." 사용되지 않는 변수로 인해 컴파일 및 빌드 시간이 느려질 수 있습니다. 따라서 Go에서는 선언된 모든 변수를 활용해야 합니다.

오류를 해결하려면 err 변수 선언을 제거하거나 _:

package main

import (
    "fmt"
)

func main() {
    var (
        _ error
        dto = make(map[string]interface{})
    )

    dto[`thing`], _ = getThings()
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}

에 할당하거나 오류 확인을 위해 err을 활용하세요.

package main

import (
    "fmt"
)

func main() {
    var (
        err error
        dto = make(map[string]interface{})
    )

    dto[`thing`], err = getThings()
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(dto[`thing`])
}

func getThings() (string, error) {
    return `the thing`, nil
}

사용하지 않는 전역 변수나 함수 인수를 갖는 것이 허용되지만 컴파일 시간 오류를 방지하려면 함수 범위 내에서 선언된 변수를 활용하는 것이 중요합니다.

위 내용은 Go에서 'err Declared and Not Used' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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