>백엔드 개발 >Golang >Golang 컴파일 오류: '정의되지 않음: fmt.Scan' 어떻게 해결합니까?

Golang 컴파일 오류: '정의되지 않음: fmt.Scan' 어떻게 해결합니까?

王林
王林원래의
2023-06-24 17:42:141468검색

최근 몇 년 동안 golang은 단순성, 학습 용이성, 효율성 및 안정성으로 인해 개발자들에게 선호되었습니다. 그러나 golang으로 컴파일할 때 개발자는 다양한 오류에 직면할 수 있습니다. 가장 일반적인 오류 중 하나는 "정의되지 않음: fmt.Scan"입니다. 그렇다면 이 오류를 해결하는 방법은 무엇일까요?

먼저 이 오류가 발생하는 이유를 이해해야 합니다. golang에서 fmt 라이브러리는 매우 일반적으로 사용되는 라이브러리이지만 어떤 경우에는 fmt를 수동으로 가져와야 합니다. 그렇지 않으면 "undefine: fmt.Scan"과 같은 컴파일 오류가 발생합니다. 이러한 상황은 일반적으로 너무 많은 라이브러리를 사용할 필요가 없는 짧고 간결한 프로그램을 작성할 때 발생하지만 fmt 라이브러리 가져오기가 부족하여 프로그램을 정상적으로 컴파일할 수 없습니다.

그렇다면 이 문제를 어떻게 해결해야 할까요? 실제로 해결책도 매우 간단합니다. 프로그램 파일 시작 부분에서 fmt 라이브러리를 수동으로 가져오기만 하면 됩니다. 예는 다음과 같습니다.

package main

import "fmt"

func main() {
    var str string
    fmt.Scan(&str)
    fmt.Println(str)
}

수동으로 fmt 라이브러리를 가져와서 "정의되지 않음: fmt.Scan" 컴파일 오류. 그러나 실제 프로그래밍에서는 이 오류를 피하기 위해 전체 라이브러리를 가져오는 대신 fmt 라이브러리를 사용해야 할 때 수동으로 가져와야 한다는 점에 유의해야 합니다. 이렇게 하면 프로그램의 리소스 사용량이 줄어들고 가독성이 향상될 수 있습니다. 코드.

이 문제를 해결하는 또 다른 방법은 fmt 라이브러리를 수동으로 가져오는 것 외에 ".../fmt"를 사용하여 fmt 라이브러리에서 지정된 함수를 가져오는 것입니다.

package main

import (
    _ "fmt"
    _ "os"
    "bufio"
)

func main() {
    var str string
    reader := bufio.NewReader(os.Stdin)
    fmt.Fscan(reader, &str)
    fmt.Println(str)
}

이 예에서는 ".../fmt"를 통해 가져오는 fmt 라이브러리의 Fscan 함수를 사용합니다. 이는 전체 fmt 라이브러리를 가져오는 것을 방지하고 "정의되지 않음: fmt.Scan"의 컴파일 오류도 해결합니다.

요약하자면, "정의되지 않음: fmt.Scan" 컴파일 오류의 경우 fmt 라이브러리를 수동으로 가져오거나 ".../fmt"를 사용하여 지정된 함수를 가져오면 해결할 수 있습니다. 이 글이 이 문제에 직면한 golang 개발자들에게 도움이 되기를 바랍니다.

위 내용은 Golang 컴파일 오류: '정의되지 않음: fmt.Scan' 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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