Operator scurt de declarare a variabilei în Go

Operatorul scurt de declarare a variabilelor (:=) în Golang este folosit pentru a crea variabile cu un nume unic și valoare inițială. Scopul principal al utilizării acestui operator este de a declara și inițializa variabilele locale în interiorul funcțiilor și de a restrânge domeniul de aplicare al variabilelor. Tipul variabilei este determinat de tipul expresiei. Cuvântul cheie var este folosit și pentru a crea variabile de un anumit tip. Deci, puteți spune că există două moduri de a crea variabile în Golang, după cum urmează:

Operator scurt de declarare a variabilei în Go

  • Folosind cuvântul cheie var
  • Utilizați operatorul scurt de declarare a variabilelor (:=)

Acum să învățăm cum să folosim operatorul scurt de declarare a variabilei în Golang!

Conținutul principal

Sintaxă pentru utilizarea operatorului scurt de declarare a variabilei în Golang

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

Aici, trebuie să inițializați variabila imediat după declarare. Dar folosind cuvântul cheie var puteți evita inițializarea la momentul declarației. Nu este nevoie să menționăm tipul variabilei. Expresia sau valoarea din partea dreaptă este utilizată pentru a evalua tipul variabilei.

De exemplu: Aici declarăm variabile folosind operator de declarație scurtă și nu specificăm tipul de variabilă. Tipul variabilei este determinat de tipul expresiei din partea dreaptă a operatorului :=.

// 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)

}

Rezultat:

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

Declararea mai multor variabile folosind operatorul de declarare scurtă

Operatorul de declarație scurtă poate fi folosit și pentru a declara mai multe variabile de același tip sau diferite într-o singură declarație. Tipurile acestor variabile sunt evaluate prin expresia din partea dreaptă a operatorului :=.

De exemplu:

// 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)

} 

Rezultat:

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

Puncte importante de reținut:

Operatorul de declarație scurtă poate fi utilizat atunci când cel puțin o variabilă din partea stângă a operatorului :=este declarată nouă. Operatorul scurt de declarare a variabilelor funcționează ca o atribuire la variabilele declarate în cadrul aceluiași bloc lexical. Pentru a înțelege mai bine acest concept, să luăm un exemplu.

Exemplul 1: Programul de mai jos va genera o eroare deoarece nu există o variabilă nouă în partea stângă a operatorului :=.

// 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)
}

Eroare:

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

Exemplul 2:

În programul de mai jos, puteți vedea linia geek3, geek2 := 456, 200 va funcționa bine fără nicio eroare, deoarece există cel puțin o nouă variabilă, adică geek3 în partea stângă a operatorului :=.

// 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) 
} 

Rezultat:

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

Go este un limbaj puternic tipizat, deoarece nu puteți atribui o valoare a unui alt tip de date unei variabile declarate.

De exemplu:

// 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"
} 

Eroare:

./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 
 

Într-o declarație scurtă de variabilă, Golang permite inițializarea unui set de variabile folosind un apel de funcție care returnează mai multe valori. Sau puteți spune că variabilelor li se pot atribui și valori care sunt evaluate în timpul execuției.

De exemplu:

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

Variabilă locală sau variabilă globală

Cu ajutorul operatorului scurt de declarare a variabilelor (:=), puteți declara variabile locale al căror domeniu este doar la nivel de bloc. În general, variabilele locale sunt declarate în interiorul blocului funcțional. Dacă încercați să declarați variabile globale folosind operatorul de declarare scurtă, veți obține o eroare.

Exemplul 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)

}

Eroare:

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

Exemplul 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) 
	
} 

Rezultat:

900
200
Sign up and earn $1000 a day ⋙

Leave a Comment

Diferența dintre televizorul obișnuit și Smart TV

Diferența dintre televizorul obișnuit și Smart TV

Televizoarele inteligente au luat cu adevărat lumea cu asalt. Cu atât de multe funcții grozave și conectivitate la internet, tehnologia a schimbat modul în care ne uităm la televizor.

De ce congelatorul nu are lumină, dar frigiderul are?

De ce congelatorul nu are lumină, dar frigiderul are?

Frigiderele sunt aparate cunoscute în gospodării. Frigiderele au de obicei 2 compartimente, compartimentul cool este spatios si are o lumina care se aprinde automat de fiecare data cand utilizatorul il deschide, in timp ce compartimentul congelator este ingust si nu are lumina.

2 moduri de a remedia congestionarea rețelei care încetinește conexiunea Wi-Fi

2 moduri de a remedia congestionarea rețelei care încetinește conexiunea Wi-Fi

Rețelele Wi-Fi sunt afectate de mulți factori, dincolo de routere, lățime de bandă și interferențe, dar există câteva modalități inteligente de a vă îmbunătăți rețeaua.

Cum să downgrade de la iOS 17 la iOS 16 fără a pierde date folosind Tenorshare Reiboot

Cum să downgrade de la iOS 17 la iOS 16 fără a pierde date folosind Tenorshare Reiboot

Dacă doriți să reveniți la iOS 16 stabil pe telefonul dvs., iată ghidul de bază pentru dezinstalarea iOS 17 și downgrade de la iOS 17 la 16.

Ce se întâmplă cu organismul când mănânci iaurt în fiecare zi?

Ce se întâmplă cu organismul când mănânci iaurt în fiecare zi?

Iaurtul este un aliment minunat. Este bine să mănânci iaurt în fiecare zi? Când mănânci iaurt în fiecare zi, cum se va schimba corpul tău? Să aflăm împreună!

Ce tip de orez este cel mai bun pentru sănătate?

Ce tip de orez este cel mai bun pentru sănătate?

Acest articol discută cele mai hrănitoare tipuri de orez și cum să maximizați beneficiile pentru sănătate ale orezului pe care îl alegeți.

Cum să te trezești la timp dimineața

Cum să te trezești la timp dimineața

Stabilirea unui program de somn și a rutinei de culcare, schimbarea ceasului cu alarmă și ajustarea dietei sunt câteva dintre măsurile care vă pot ajuta să dormiți mai bine și să vă treziți la timp dimineața.

Sfaturi pentru a juca Rent Please! Proprietar Sim pentru începători

Sfaturi pentru a juca Rent Please! Proprietar Sim pentru începători

Inchiriez va rog! Landlord Sim este un joc mobil de simulare pe iOS și Android. Veți juca ca proprietarul unui complex de apartamente și veți începe să închiriați un apartament cu scopul de a îmbunătăți interiorul apartamentelor și de a le pregăti pentru chiriași.

Cele mai recente coduri de apărare a turnului de baie și cum să introduceți codurile

Cele mai recente coduri de apărare a turnului de baie și cum să introduceți codurile

Obțineți codul de joc Roblox Bathroom Tower Defense și răscumpărați pentru recompense interesante. Ele vă vor ajuta să faceți upgrade sau să deblocați turnuri cu daune mai mari.

Structura, simbolurile și principiile de funcționare ale transformatoarelor

Structura, simbolurile și principiile de funcționare ale transformatoarelor

Să învățăm despre structura, simbolurile și principiile de funcționare ale transformatoarelor în cel mai precis mod.

4 moduri prin care AI face televizoarele inteligente mai bune

4 moduri prin care AI face televizoarele inteligente mai bune

De la o calitate mai bună a imaginii și a sunetului la controlul vocal și multe altele, aceste funcții bazate pe inteligență artificială fac televizoarele inteligente mult mai bune!

De ce ChatGPT este mai bun decât DeepSeek

De ce ChatGPT este mai bun decât DeepSeek

Inițial, oamenii aveau mari speranțe în DeepSeek. Fiind un chatbot AI comercializat ca un concurent puternic pentru ChatGPT, acesta promite capacități și experiențe inteligente de chat.

Faceți cunoștință cu Fireflies.ai: Secretarul AI gratuit care vă scutește de ore de muncă

Faceți cunoștință cu Fireflies.ai: Secretarul AI gratuit care vă scutește de ore de muncă

Este ușor să ratezi detalii importante atunci când notezi alte elemente esențiale, iar încercarea de a lua notițe în timpul conversației poate fi distragerea atenției. Fireflies.ai este soluția.

Cum să crești Axolotl Minecraft, îmblânziți Minecraft Salamander

Cum să crești Axolotl Minecraft, îmblânziți Minecraft Salamander

Axolot Minecraft va fi un asistent excelent pentru jucători atunci când operează sub apă, dacă știu să le folosească.

A Quiet Place: The Road Ahead Configurația jocului PC

A Quiet Place: The Road Ahead Configurația jocului PC

Un loc liniștit: configurația Road Ahead este foarte apreciată, așa că va trebui să luați în considerare configurația înainte de a decide să descărcați.