Go 空白标识符(下划线)

Golang中的_(下划线)称为空白标识符。标识符是用于识别目的的程序组件的用户定义名称。

Golang有一个特殊的特性,可以使用空白标识符定义和使用未使用的变量。未使用变量是指用户在整个程序中定义但从未使用过的变量。这些变量使程序几乎不可读。如你所知,Golang是一种更加简洁和可读的编程语言,因此它不允许程序员定义未使用的变量,如果你这样做,编译器将抛出一个错误。
当函数返回多个值时,才真正使用Blank Identifier,但是我们只需要几个值并希望丢弃一些值。 基本上,它告诉编译器不需要此变量,并且将其忽略而没有任何错误。 它隐藏变量的值并使程序可读。 因此,每当您将值分配给Bank Identifier时,它就变得不可用。

示例1:在下面的程序中,函数mul_div返回两个值,我们将这两个值都存储在muldiv标识符中。但是在整个程序中,我们仅使用一个变量,即mul。所以编译器会抛出错误div declared and not used

package main

import "fmt"

func main() {

    //调用函数
    //函数返回两个值
    //分配给mul和div标识符
    mul, div := mul_div(105, 7)

    //仅使用mul变量
    //编译器会报错
    fmt.Println("105 x 7 = ", mul)
}

//函数返回两个
//整数类型的值
func mul_div(n1 int, n2 int) (int, int) {

    //返回值
    return n1 * n2, n1 / n2
}

输出:

# command-line-arguments
.\test.go:10:7: div declared but not used

示例2:让我们使用空白标识符来更正上述程序。代替div标识符,只需使用_(下划线)。它允许编译器忽略该特定变量的错误(declared and not used)。

package main

import "fmt"

func main() {

    //调用函数
    //函数返回两个值
    //分配给mul和空白标识符
    mul, _ := mul_div(105, 7)

    //只使用mul变量
    fmt.Println("105 x 7 = ", mul)
}

//函数返回两个
//整数类型的值
func mul_div(n1 int, n2 int) (int, int) {
    //返回值
    return n1 * n2, n1 / n2
}

输出:

105 x 7 =  735

注意事项:

  • 您可以在同一程序中使用多个空白标识符。因此,可以说Golang程序可以使用相同的标识符名称(即空白标识符)来包含多个变量。

  • 在很多情况下,即使知道这些值将不会在程序中的任何地方使用,也需要分配值来完成语法。就像一个返回多个值的函数。在这种情况下,通常使用空白标识符。

  • 您可以将任何类型的任何值与空白标识符一起使用。