공백 식별자는 Go 언어에서 변수나 값을 배치하거나 무시하는 데 사용되며 구문은 _입니다. 함수에서 불필요한 변수, 자리 표시자, 여러 개의 반환 값이 있는 변수를 삭제하는 데 사용할 수 있습니다. 실제로는 스캐너 오류를 무시하는 등 원치 않는 스캔 결과를 건너뛰는 데 사용할 수 있습니다.
공백 식별자는 특정 변수나 값을 배치하거나 무시하는 데 사용되는 Go 언어의 특수한 유형의 식별자입니다. 눈에 띄지 않는 것처럼 보일 수도 있지만 공백 식별자는 특정 시나리오에서 도움이 될 수 있습니다.
공백 식별자는 키워드 _
로 표시됩니다. 지역 변수나 함수 매개변수 이름으로만 사용할 수 있습니다.
func foo(_ int) {} func main() { var _ = 10 }
변수를 선언해야 하지만 실제로 해당 값을 사용하지 않는 경우 공백 식별자를 사용하여 컴파일러 경고를 피할 수 있습니다.
func foo(x int) { if x > 10 { _ = fmt.Println("x is greater than 10") } }
빈 식별자를 사용하여 나중에 값이 사용되지 않음을 나타내는 자리 표시자를 만들 수 있습니다.
func foo() (int, int) { // 假设 a 和 b 的值稍后会计算出来 return _, _ }
함수 반환 값이 무시되면 빈 식별자를 변수 이름으로 사용할 수 있습니다.
func foo() (int, error) { x, _ := bar() return x, nil // 忽略错误 }
입력된 숫자를 스캔하는 다음 코드가 있다고 가정해 보겠습니다.
package main import ( "fmt" "strings" ) func main() { scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { line := scanner.Text() if num, err := strconv.Atoi(line); err == nil { fmt.Printf("有效数字:%d\n", num) } } if err := scanner.Err(); err != nil { fmt.Println("读取输入时出错:", err) } }
이 예에서는 스캔 서버 오류를 처리하지 않고 유효한 숫자만 인쇄하려고 합니다. 공백 식별자를 사용하여 오류를 무시할 수 있습니다:
package main import ( "bufio" "fmt" "os" "strconv" ) func main() { scanner := bufio.NewScanner(os.Stdin) for scanner.Scan() { line := scanner.Text() if num, _ := strconv.Atoi(line); err == nil { fmt.Printf("有效数字:%d\n", num) } } _ = scanner.Err() // 忽略扫描器错误 }
위 내용은 Go에서 공백 식별자의 비밀 이해하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!