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

Różnica między zwykłym telewizorem a Smart TV

Różnica między zwykłym telewizorem a Smart TV

Telewizory Smart TV naprawdę podbiły świat. Dzięki tak wielu świetnym funkcjom i możliwościom połączenia z Internetem technologia zmieniła sposób, w jaki oglądamy telewizję.

Dlaczego zamrażarka nie ma światła, a lodówka tak?

Dlaczego zamrażarka nie ma światła, a lodówka tak?

Lodówki to powszechnie stosowane urządzenia gospodarstwa domowego. Lodówki zazwyczaj mają dwie komory: komora chłodna jest pojemna i posiada światło, które włącza się automatycznie po każdym otwarciu lodówki, natomiast komora zamrażarki jest wąska i nie posiada światła.

2 sposoby na naprawę przeciążenia sieci, które spowalnia sieć Wi-Fi

2 sposoby na naprawę przeciążenia sieci, które spowalnia sieć Wi-Fi

Na działanie sieci Wi-Fi wpływa wiele czynników poza routerami, przepustowością i zakłóceniami. Istnieje jednak kilka sprytnych sposobów na usprawnienie działania sieci.

Jak obniżyć wersję iOS 17 do iOS 16 bez utraty danych za pomocą Tenorshare Reiboot

Jak obniżyć wersję iOS 17 do iOS 16 bez utraty danych za pomocą Tenorshare Reiboot

Jeśli chcesz powrócić do stabilnej wersji iOS 16 na swoim telefonie, poniżej znajdziesz podstawowy przewodnik, jak odinstalować iOS 17 i obniżyć wersję iOS 17 do 16.

Co dzieje się z organizmem, gdy codziennie jesz jogurt?

Co dzieje się z organizmem, gdy codziennie jesz jogurt?

Jogurt jest wspaniałym produktem spożywczym. Czy warto jeść jogurt codziennie? Jak zmieni się Twoje ciało, gdy będziesz jeść jogurt codziennie? Przekonajmy się razem!

Który rodzaj ryżu jest najlepszy dla zdrowia?

Który rodzaj ryżu jest najlepszy dla zdrowia?

W tym artykule omówiono najbardziej odżywcze rodzaje ryżu i dowiesz się, jak zmaksymalizować korzyści zdrowotne, jakie daje wybrany przez Ciebie rodzaj ryżu.

Jak obudzić się rano na czas

Jak obudzić się rano na czas

Ustalenie harmonogramu snu i rutyny związanej z kładzeniem się spać, zmiana budzika i dostosowanie diety to niektóre z działań, które mogą pomóc Ci lepiej spać i budzić się rano o odpowiedniej porze.

Wskazówki dotyczące gry Rent Please! Symulator wynajmującego dla nowicjuszy

Wskazówki dotyczące gry Rent Please! Symulator wynajmującego dla nowicjuszy

Proszę o wynajem! Landlord Sim to mobilna gra symulacyjna dostępna na systemy iOS i Android. Wcielisz się w rolę właściciela kompleksu apartamentowego i wynajmiesz mieszkania, a Twoim celem jest odnowienie wnętrz apartamentów i przygotowanie ich na przyjęcie najemców.

Najnowsze kody do obrony wieży łazienkowej i jak je wprowadzać

Najnowsze kody do obrony wieży łazienkowej i jak je wprowadzać

Zdobądź kod do gry Bathroom Tower Defense Roblox i wymień go na atrakcyjne nagrody. Pomogą ci ulepszyć lub odblokować wieże zadające większe obrażenia.

Budowa, symbole i zasady działania transformatorów

Budowa, symbole i zasady działania transformatorów

Poznajmy budowę, symbole i zasady działania transformatorów w jak najbardziej dokładny spos��b.

4 sposoby, w jakie sztuczna inteligencja ulepsza inteligentne telewizory

4 sposoby, w jakie sztuczna inteligencja ulepsza inteligentne telewizory

Od lepszej jakości obrazu i dźwięku po sterowanie głosowe i wiele więcej — te funkcje oparte na sztucznej inteligencji sprawiają, że inteligentne telewizory stają się o wiele lepsze!

Dlaczego ChatGPT jest lepszy niż DeepSeek

Dlaczego ChatGPT jest lepszy niż DeepSeek

Początkowo ludzie wiązali duże nadzieje z DeepSeek. Jako chatbot oparty na sztucznej inteligencji, reklamowany jako silny konkurent ChatGPT, obiecuje inteligentne możliwości i doświadczenia związane z czatem.

Poznaj Fireflies.ai: darmową sekretarkę AI, która zaoszczędzi Ci godzin pracy

Poznaj Fireflies.ai: darmową sekretarkę AI, która zaoszczędzi Ci godzin pracy

Łatwo jest przegapić ważne szczegóły podczas zapisywania innych istotnych informacji, a próba robienia notatek podczas rozmowy może być rozpraszająca. Rozwiązaniem jest Fireflies.ai.

Jak hodować aksolotla w Minecraft, oswoić salamandrę w Minecraft

Jak hodować aksolotla w Minecraft, oswoić salamandrę w Minecraft

Axolot Minecraft będzie świetnym pomocnikiem dla graczy operujących pod wodą, jeśli tylko będą umieli się nim posługiwać.

Konfiguracja gry A Quiet Place: The Road Ahead na PC

Konfiguracja gry A Quiet Place: The Road Ahead na PC

Konfiguracja gry A Quiet Place: The Road Ahead została oceniona dość wysoko, dlatego też przed podjęciem decyzji o pobraniu należy wziąć ją pod uwagę.