Golang 什么是空白标识符(下划线)

Golang 什么是空白标识符(下划线)

Golang中的 _ (下划线)被称为空白标识符。标识符是用户定义的程序组件的名称,用于识别目的。Golang有一个特殊的功能,可以使用Blank Identifier定义和使用未使用的变量。未使用的变量是那些由用户在整个程序中定义的变量,但他/她从未使用过这些变量。这些变量使程序几乎无法阅读。正如你所知,Golang是一种更加简洁和可读的编程语言,所以它不允许程序员定义一个未使用的变量,如果你这样做了,那么编译器会抛出一个错误。

空白标识符的真正用途是当一个函数返回多个值,但我们只需要几个值,并想抛弃一些值。基本上,它告诉编译器这个变量是不需要的,并在没有任何错误的情况下忽略它。它隐藏了变量的值,使程序可读。因此,只要你将给空白标识符赋值,它就会变得不可用。

例1: 在下面的程序中,函数 mul_div 返回两个值,我们将这两个值都存储在 muldiv 标识符中。但在整个程序中,我们只使用了一个变量,即 mul。 因此,编译器将抛出一个错误,即div已声明但未使用 。

// Golang program to show the compiler
// throws an error if a variable is
// declared but not used
 
package main
 
import "fmt"
 
// Main function
func main() {
 
    // calling the function
    // function returns two values which are
    // assigned to mul and div identifier
    mul, div := mul_div(105, 7)
 
    // only using the mul variable
    // compiler will give an error
    fmt.Println("105 x 7 = ", mul)
}
 
// function returning two
// values of integer type
func mul_div(n1 int, n2 int) (int, int) {
 
    // returning the values
    return n1 * n2, n1 / n2
}

输出:

./prog.go:15:7: div declared and not used

例2: 让我们利用Blank标识符来修正上述程序。在div标识符的位置上,只需使用_(下划线)。它允许编译器忽略该变量的声明和未使用错误。

// Golang program to the use of Blank identifier
 
package main
 
import "fmt"
 
// Main function
func main() {
 
    // calling the function
    // function returns two values which are
    // assigned to mul and blank identifier
    mul, _ := mul_div(105, 7)
 
    // only using the mul variable
    fmt.Println("105 x 7 = ", mul)
}
 
// function returning two
// values of integer type
func mul_div(n1 int, n2 int) (int, int) {
 
    // returning the values
    return n1 * n2, n1 / n2
}

输出:

105 x 7 =  735

要点:

  • 你可以在同一个程序中使用多个空白标识符。所以你可以说一个Golang程序可以有多个变量使用同一个标识符名称,也就是空白标识符。
  • 在很多情况下,为了完成语法,需要赋值,即使知道这些值不会在程序中使用。比如一个返回多个值的函数。在这种情况下,大多使用空白标识符。
  • 你可以用空白标识符使用任何类型的值。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程