Krótki operator deklaracji zmiennej w Go

Operator krótkiej deklaracji zmiennej (:=) w języku Go jest używany do tworzenia zmiennych o unikalnej nazwie i wartości początkowej. Głównym celem stosowania tego operatora jest deklarowanie i inicjowanie zmiennych lokalnych wewnątrz funkcji oraz zawężanie zakresu zmiennych. Typ zmiennej jest określany przez typ wyrażenia. Słowa kluczowego var używa się również do tworzenia zmiennych określonego typu. Można zatem stwierdzić, że w języku Go istnieją dwa sposoby tworzenia zmiennych:

Krótki operator deklaracji zmiennej w Go

  • Używanie słowa kluczowego var
  • Użyj operatora krótkiej deklaracji zmiennej (:=)

Teraz nauczmy się, jak używać operatora krótkiej deklaracji zmiennej w Golangu!

Treść główna

Składnia użycia operatora krótkiej deklaracji zmiennej w Golang

variable_name := biểu thức hoặc giá trị

Tutaj należy zainicjować zmienną zaraz po deklaracji. Ale używając słowa kluczowego var można uniknąć inicjalizacji w momencie deklaracji. Nie ma potrzeby podawania typu zmiennej. Wyrażenie lub wartość po prawej stronie służy do oceny typu zmiennej.

Na przykład: tutaj deklarujemy zmienne za pomocą operatora krótkiej deklaracji, nie określając typu zmiennej. Typ zmiennej jest określany przez typ wyrażenia po prawej stronie operatora :=.

// Minh họa chương trình Go dùng := (toán tử khai báo ngắn) 
package main

import "fmt"

func main() {

	// khai báo và khởi tạo biến
	a := 30

	// lấy một biến chuỗi
	Language: = "Go Programming"

	fmt.Println("The Value of a is: ", a)
	fmt.Println("The Value of Language is: ", Language)

}

Wynik:

The Value of a is:  30
The Value of Language is:  Go Programming

Deklarowanie wielu zmiennych przy użyciu operatora krótkiej deklaracji

Operator krótkiej deklaracji może być również używany do deklarowania wielu zmiennych tego samego lub różnych typów w jednej deklaracji. Typy tych zmiennych oceniane są za pomocą wyrażenia po prawej stronie operatora :=.

Na przykład:

// Minh họa chương trình Go dùng toán tử khai báo ngắn := short để khai báo nhiều
// biến thành một câu lệnh khai báo duy nhất
package main

import "fmt"

func main() { 

// nhiều biến của cùng kiểu(int)
geek1, geek2, geek3 := 117, 7834, 5685

// nhiều biến của các kiểu khác nhau
geek4, geek5, geek6 := "GFG", 859.24, 1234

// Hiện giá trị và kiểu của biến
fmt.Printf("The value of geek1 is : %d\n", geek1) 
fmt.Printf("The type of geek1 is : %T\n", geek1) 

fmt.Printf("\nThe value of geek2 is : %d\n", geek2) 
fmt.Printf("The type of geek2 is : %T\n", geek2) 

fmt.Printf("\nThe value of geek3 is : %d\n", geek3) 
fmt.Printf("The type of geek3 is : %T\n", geek3)

fmt.Printf("\nThe value of geek4 is : %s\n", geek4) 
fmt.Printf("The type of geek4 is : %T\n", geek4)


fmt.Printf("\nThe value of geek5 is : %f\n", geek5) 
fmt.Printf("The type of geek5 is : %T\n", geek5)

fmt.Printf("\nThe value of geek6 is : %d\n", geek6) 
fmt.Printf("The type of geek6 is : %T\n", geek6)

} 

Wynik:

The value of geek1 is : 117
The type of geek1 is : int

The value of geek2 is : 7834
The type of geek2 is : int

The value of geek3 is : 5685
The type of geek3 is : int

The value of geek4 is : GFG
The type of geek4 is : string

The value of geek5 is : 859.240000
The type of geek5 is : float64

The value of geek6 is : 1234
The type of geek6 is : int

Ważne rzeczy, o których należy pamiętać:

Operator krótkiej deklaracji może być użyty, gdy przynajmniej jedna zmienna po lewej stronie operatora :=jest zadeklarowana jako nowa. Operator krótkiej deklaracji zmiennej działa jak przypisanie zmiennej zadeklarowanej w obrębie tego samego bloku leksykalnego. Aby lepiej zrozumieć tę koncepcję, przyjrzyjmy się przykładowi.

Przykład 1: Poniższy program zgłosi błąd, ponieważ po lewej stronie operatora nie ma nowej zmiennej :=.

// Minh họa chương trình Go dùng khai báo biến ngắn
package main

import "fmt"

func main() { 

	// lấy hai biến
	p, q := 100, 200

	fmt.Println("Value of p ", p, "Value of q ", q)

	// Báo lỗi vì không có biến mới ở bên tay trái của :=
	p, q := 500, 600
	
	fmt.Println("Value of p ", p, "Value of q ", q)
}

Błąd:

./prog.go:17:10: no new variables on left side of := 

Przykład 2:

W programie poniżej możesz zobaczyć linię geek3, geek2 := 456, 200, która będzie działać poprawnie bez żadnych błędów, ponieważ po lewej stronie operatora pojawi się co najmniej jedna nowa zmienna, tj. geek3 :=.

// Chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

// Ở đây, khai báo biến ngắn hoạt động
// như một phép gán cho biến geek1
// vì cùng một biến có trong cùng một khối
// do đó giá trị của geek2 được thay đổi từ 100 thành 200
geek1, geek2 := 78, 100

// ở đây, := được sử dụng như một phép gán cho geek2
// vì nó đã được khai báo. Ngoài ra, dòng này
// sẽ hoạt động tốt vì geek3 mới được tạo
// biến
geek3, geek2 := 456, 200

// Nếu bạn thử chạy các dòng được chú thích,
// thì trình biên dịch sẽ báo lỗi vì
// các biến này đã được định nghĩa
// geek1, geek2 := 745, 956
// geek3 := 150

// Hiện giá trị của các biến
fmt.Printf("The value of geek1 and geek2 is : %d %d\n", geek1, geek2) 
											
fmt.Printf("The value of geek3 and geek2 is : %d %d\n", geek3, geek2) 
} 

Wynik:

The value of geek1 and geek2 is : 78 200
The value of geek3 and geek2 is : 456 200

Go jest językiem ściśle typizowanym, ponieważ nie można przypisać zadeklarowanej zmiennej wartości innego typu danych.

Na przykład:

// Minh họa chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

	// lấy một biến của int
	z := 50
	
	fmt.Printf("Value of z is %d", z)
	
	// gán lại giá trị của kiểu chuỗi
// nó sẽ đưa ra lỗi
	z := "Golang"
} 

Błąd:

./prog.go:16:4: no new variables on left side of := 
./prog.go:16:7: cannot use “Golang” (type string) as type int in assignment 
 

W krótkiej deklaracji zmiennej Golang umożliwia zainicjowanie zestawu zmiennych za pomocą wywołania funkcji zwracającej wiele wartości. Można też powiedzieć, że zmiennym można przypisywać wartości, które są oceniane w czasie wykonywania.

Na przykład:

// Tại đây, hàm math.Max function trả về
// số lớn nhất trong biến i 
i := math.Max(x, y)

Zmienna lokalna czy zmienna globalna

Za pomocą operatora krótkiej deklaracji zmiennej (:=) można deklarować zmienne lokalne, których zasięg jest ograniczony wyłącznie do poziomu bloku. Ogólnie rzecz biorąc, zmienne lokalne deklaruje się wewnątrz bloku funkcji. Próba zadeklarowania zmiennych globalnych przy użyciu operatora krótkiej deklaracji spowoduje wystąpienie błędu.

Przykład 1:

// Chương trình Go hiển thị cách sử dụng toán tử :=
// để khai báo các biến cục bộ
package main

import "fmt"

// sử dụng từ khóa var để khai báo
// và khởi tạo biến
// đó là package hoặc bạn có thể nói
// phạm vi cấp toàn cục
var geek1 = 900

// sử dụng khai báo biến ngắn
// sẽ báo lỗi
geek2 := 200

func main() {

// truy cập geek1 bên trong hàm
fmt.Println(geek1)

// truy cập geek2 bên trong hàm
fmt.Println(geek2)

}

Błąd:

./prog.go:15:1: syntax error: non-declaration statement outside function body 

Przykład 2:

// Chương trình Go dùng toán tử := operator
// để khai báo các biến cục bộ
package main 

import "fmt"

// dùng từ khóa var để khai báo
// và khởi tạo biến
// nó đóng gói hoặc bạn có thể báo
// phạm vi cấp toàn cục
var geek1 = 900


func main() { 

// dùng khai báo biến ngắn
// bên trong hàm chính
// nó có phạm vi cục bộ tức là không thể
// truy cập bên ngoài hàm chính
geek2 := 200

// truy cập geek1 bên trong hàm này
fmt.Println(geek1) 

// truy cập geek2 bên trong hàm này
fmt.Println(geek2) 
	
} 

Wynik:

900
200
Sign up and earn $1000 a day ⋙

Leave a Comment

8 rzeczy, o których nie wiedziałeś, że możesz zrobić w aplikacji Samsung Gallery

8 rzeczy, o których nie wiedziałeś, że możesz zrobić w aplikacji Samsung Gallery

Aplikacja Galeria firmy Samsung ma większe możliwości niż mogłoby się wydawać, ale może się to nie wydawać oczywiste.

Składany smartfon Microsoftu nie będzie miał zagięć

Składany smartfon Microsoftu nie będzie miał zagięć

Mówi się, że Microsoft jest coraz bliżej wypuszczenia na rynek swojego pierwszego składanego smartfona, gdy 1 października uzyskał patent na składany telefon z możliwością złożenia o 360 stopni, który nie powoduje powstawania zagnieceń na ekranie.

Google testuje niebieski znacznik wyboru w wyszukiwarce

Google testuje niebieski znacznik wyboru w wyszukiwarce

Google testuje nową funkcję weryfikacji za pomocą niebieskiego znacznika wyboru w wyszukiwarce. Funkcja ta pomoże użytkownikom unikać klikania na fałszywe lub oszukańcze linki do witryn internetowych.

Rozróżnianie Microsoft 365 i Office 2024

Rozróżnianie Microsoft 365 i Office 2024

Na pierwszy rzut oka Microsoft 365 i Office 2024 mogą wydawać się bardzo podobne, ponieważ oba zapewniają dostęp do popularnych i szeroko wykorzystywanych aplikacji firmy Microsoft.

Najnowsze kody do Elemental Dungeons i jak je wprowadzać

Najnowsze kody do Elemental Dungeons i jak je wprowadzać

Kody Elemental Dungeons są niezbędną formą nagrody dla graczy. Podobnie jak w przypadku każdej innej gry online w Robloxie, gracze mogą otrzymywać te asysty w zamian za pieniądze lub inne przedmioty.

Jak powtórzyć pasek tytułu tabeli w programie Word

Jak powtórzyć pasek tytułu tabeli w programie Word

Podczas drukowania dokumentu Word utwórz w nim tabelę. Powtórzenie tytułu w programie Word ułatwia jego śledzenie oraz pozwala na płynne odczytywanie tytułu dokumentu na różnych stronach, zwłaszcza w przypadku długich tytułów.

Jak tworzyć animowane wiadomości w iMessage iOS 18

Jak tworzyć animowane wiadomości w iMessage iOS 18

Nowa aplikacja iMessage w systemie iOS 18 została wzbogacona o animowane wiadomości, efekty tekstowe i wiele opcji do wykorzystania w wysyłanych wiadomościach.

Dlaczego świnie są wrogiem węży?

Dlaczego świnie są wrogiem węży?

Istnieje ciekawy fakt na temat świń, o którym nie wszyscy wiedzą: świnie są uważane za wrogów węży, ponieważ gdy te dwa zwierzęta się spotkają, większość węży stanie się pożywieniem dla świń.

Jaka jest odległość Ziemi od Jowisza – największej planety Układu Słonecznego?

Jaka jest odległość Ziemi od Jowisza – największej planety Układu Słonecznego?

Jaka jest odległość od Ziemi do Jowisza? Jeśli nie wiesz, ten artykuł dowiesz się, jak daleko Jowisz znajduje się od Ziemi.

Odkryj metagenerałów sezonu S1 2023 Lien Quan Mobile

Odkryj metagenerałów sezonu S1 2023 Lien Quan Mobile

Którzy generałowie nie są uwzględnieni w meta-grze Mobile Alliance? Przyjrzyjmy się teraz

Graves DTCL sezon 7.5: standardowe przedmioty, skład Graves Loi Long

Graves DTCL sezon 7.5: standardowe przedmioty, skład Graves Loi Long

Graves DTCL z sezonów 1, 3 i 6 kosztuje tylko 1 sztukę złota i wydaje się być po prostu dodatkowym bohaterem mającym na celu pobudzenie klanu; główna rola we wczesnej fazie gry jest nadal wykorzystywana, ale nie w zbyt dużym stopniu. Od sezonu 7.5 DTCL cena Gravesa gwałtownie wzrosła do 4 sztuk złota i zdecydowanie jest niezastąpionym wyborem, jeśli zdecydujesz się grać Thunder Dragonem lub Gunnerem.

Jak korzystać z oddzielnych dźwięków aplikacji na Samsungu

Jak korzystać z oddzielnych dźwięków aplikacji na Samsungu

W przypadku telefonów Samsung należy korzystać z osobnej aplikacji obsługującej dźwięki. Możesz na przykład słuchać muzyki z Apple Music, a telefon będzie odtwarzał dźwięk przez głośniki samochodu.

Dobre cytaty o pracy, dobre statusy o pracy inspirują Cię do osiągnięcia sukcesu

Dobre cytaty o pracy, dobre statusy o pracy inspirują Cię do osiągnięcia sukcesu

W Internecie można znaleźć wiele dobrych statusów dotyczących pracy. W tym artykule podsumujemy dobre i wartościowe statusy zawodowe.

Podpisy na rocznicę ślubu, znaczące i słodkie statusy na rocznicę ślubu

Podpisy na rocznicę ślubu, znaczące i słodkie statusy na rocznicę ślubu

Jaki jest dobry i pełen znaczenia podpis pod rocznicą ślubu? W tym artykule znajdziesz krótkie, zwięzłe podpisy pod rocznicami, które sprawią, że Twój partner zapamięta je na zawsze.

Lista najnowszych kodów Dai Hiep Phong Van i sposób ich wykorzystania

Lista najnowszych kodów Dai Hiep Phong Van i sposób ich wykorzystania

Code Dai Hiep Phong Van pomaga graczom wykorzystać atrakcyjne nagrody, nawet jeśli dopiero zaczynają poznawać świat gry.