_(underscore) dans Golang est appelé Blank Identifier . L'identifiant est un nom défini par l'utilisateur des composants du programme utilisés à des fins d'identification.

Golang a une fonctionnalité spéciale qui permet de définir et d'utiliser des variables inutilisées à l'aide d'un identifiant vide. Les variables inutilisées sont celles qui sont définies par l'utilisateur au cours du programme mais il n'utilise jamais ces variables. Ces variables rendent le programme presque illisible. Comme vous le savez, Golang est un langage de programmation plus concis et plus lisible, il ne permet donc pas aux programmeurs de définir une variable inutilisée. Si vous le faites, le compilateur vous donnera une erreur.
La véritable utilisation de Blank Identifier survient lorsqu'une fonction renvoie plusieurs valeurs, mais nous n'avons besoin que de quelques valeurs et devons supprimer les valeurs redondantes. Fondamentalement, il indique au compilateur que cette variable n'est pas nécessaire et l'ignore sans aucune erreur. Il masque les valeurs des variables, rendant le programme lisible. Ainsi, chaque fois que vous attribuez une valeur à Blank Identifier, elle ne sera d'aucune utilité.
Exemple 1 : Dans le programme ci-dessous, la fonction mul_div renvoie deux valeurs et nous stockons les deux valeurs dans les identifiants mul et div . Mais dans tout le programme, nous n'utilisons qu'une seule variable, à savoir mul . Ainsi, le compilateur renverra une erreur indiquant que div est déclaré et non utilisé.
// Chương trình Go hiện trình biên dịch
// báo lỗi nếu một biến
// được khai báo nhưng không được sử dụng
package main
import "fmt"
// Hàm chính
func main() {
// gọi hàm này
// hàm trả về hai giá trị được gán
// cho định danh mul và div
mul, div := mul_div(105, 7)
// chỉ dùng biến mul
// trình biên dịch sẽ báo lỗi
fmt.Println("105 x 7 = ", mul)
}
// hàm trả về hai
// giá trị của kiểu integer
func mul_div(n1 int, n2 int) (int, int) {
// trả về các giá trị này
return n1 * n2, n1 / n2
}
Résultat:
./prog.go:15:7: div được khai báo nhưng không được dùng
Exemple 2 : utilisez l’identifiant vide pour modifier le programme ci-dessus. Au lieu d'identifier div, utilisez simplement _ (soulignement) . Il permet au compilateur d'ignorer les erreurs déclarées et inutilisées pour cette variable particulière.
// Chương trình Go dùng định danh trống
package main
import "fmt"
// Hàm chính
func main() {
// gọi hàm này
// hàm trả về hai giá trị
// được gán cho định danh mul và trống
mul, _ := mul_div(105, 7)
// chỉ dùng biến mul
fmt.Println("105 x 7 = ", mul)
}
// hàm trả về hai giá trị
// của kiểu integer
func mul_div(n1 int, n2 int) (int, int) {
// trả về giá trị này
return n1 * n2, n1 / n2
}
Résultat:
105 x 7 = 735
Points importants à retenir :
- Vous pouvez utiliser plusieurs identifiants vides dans le même programme. On peut donc dire qu'un programme Golang peut avoir plusieurs variables utilisant le même nom d'identifiant vide.
- Il existe de nombreux cas où il est nécessaire d'attribuer des valeurs simplement pour compléter la syntaxe même lorsque l'on sait que les valeurs ne seront utilisées nulle part dans le programme. Comme une fonction qui renvoie plusieurs valeurs. La plupart de ces cas utilisent l’identifiant vide.
- Vous pouvez utiliser n'importe quelle valeur de n'importe quel type avec Blank Identifier.