_(podkreślenie) w języku Golang nazywane jest pustym identyfikatorem . Identyfikator to zdefiniowana przez użytkownika nazwa komponentów programu, stosowana w celach identyfikacyjnych.

W języku Go istnieje specjalna funkcja definiowania i używania nieużywanych zmiennych za pomocą pustego identyfikatora. Nieużywane zmienne to zmienne zdefiniowane przez użytkownika w trakcie programu, ale nigdy z nich nie korzystające. Te zmienne sprawiają, że program staje się prawie nieczytelny. Jak wiadomo, Golang jest językiem programowania bardziej zwięzłym i czytelnym, dlatego nie pozwala programistom definiować nieużywanych zmiennych. Jeżeli to zrobisz, kompilator zgłosi błąd.
Prawdziwe zastosowanie pustego identyfikatora pojawia się wtedy, gdy funkcja zwraca wiele wartości, a my potrzebujemy tylko kilku i musimy usunąć wartości zbędne. Mówiąc najprościej, informuje kompilator, że zmienna ta nie jest potrzebna i ignoruje ją bez zgłaszania błędów. Ukrywa wartości zmiennych, dzięki czemu program staje się czytelny. Tak więc za każdym razem, gdy przypiszesz wartość do pustego identyfikatora, nie będzie on już przydatny.
Przykład 1: W poniższym programie funkcja mul_div zwraca dwie wartości i obie wartości przechowujemy w identyfikatorach mul i div . Ale w całym programie używamy tylko jednej zmiennej, tj. mul . Kompilator zgłosi zatem błąd , że element div jest zadeklarowany, ale nieużyty.
// 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
}
Wynik:
./prog.go:15:7: div được khai báo nhưng không được dùng
Przykład 2: Użyj pustego identyfikatora, aby zmodyfikować powyższy program. Zamiast identyfikować div, po prostu użyj _ (podkreślenia) . Umożliwia kompilatorowi ignorowanie zadeklarowanych i nieużywanych błędów dla danej zmiennej.
// 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
}
Wynik:
105 x 7 = 735
Ważne rzeczy, o których należy pamiętać:
- W tym samym programie można używać wielu pustych identyfikatorów. Można więc powiedzieć, że program Golang może mieć wiele zmiennych, w których używana jest ta sama pusta nazwa identyfikatora.
- Jest wiele przypadków, w których konieczne jest przypisanie wartości tylko po to, aby uzupełnić składnię, nawet gdy wiadomo, że wartości te nie zostaną nigdzie wykorzystane w programie. Jak funkcja zwracająca wiele wartości. W większości takich przypadków identyfikator jest pusty.
- Można użyć dowolnej wartości dowolnego typu z pustym identyfikatorem.