L'identifiant d'espace est utilisé dans le langage Go pour placer ou ignorer des variables ou des valeurs, et la syntaxe est _. Il peut être utilisé pour supprimer les variables inutiles, les espaces réservés et les variables avec plusieurs valeurs de retour des fonctions. En pratique, il peut être utilisé pour ignorer les résultats d’analyse indésirables, comme ignorer les erreurs du scanner.
Les identifiants d'espaces sont un type spécial d'identifiant dans le langage Go qui sont utilisés pour placer ou ignorer des variables ou des valeurs spécifiques. Bien qu’ils puissent sembler discrets, les identifiants d’espaces peuvent être utiles dans certains scénarios.
Les identifiants d'espaces blancs sont représentés par le mot-clé _
. Il ne peut être utilisé que comme variable locale ou nom de paramètre de fonction.
func foo(_ int) {} func main() { var _ = 10 }
Lorsque vous devez déclarer une variable mais n'utilisez pas réellement sa valeur, vous pouvez utiliser un identifiant d'espace pour éviter les avertissements du compilateur.
func foo(x int) { if x > 10 { _ = fmt.Println("x is greater than 10") } }
Un identifiant vide peut être utilisé pour créer un espace réservé indiquant que la valeur ne sera utilisée que plus tard.
func foo() (int, int) { // 假设 a 和 b 的值稍后会计算出来 return _, _ }
Lorsque la valeur de retour de la fonction est ignorée, vous pouvez utiliser un identifiant vide comme nom de variable.
func foo() (int, error) { x, _ := bar() return x, nil // 忽略错误 }
Supposons que nous ayons le code suivant, qui scanne les numéros saisis :
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) } }
Dans cet exemple, nous voulons uniquement imprimer les numéros valides sans traiter l'erreur du serveur d'analyse. Nous pouvons utiliser des identifiants d'espaces pour ignorer les erreurs :
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() // 忽略扫描器错误 }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!