ตัวดำเนินการประกาศตัวแปรสั้นใน Go

ตัวดำเนินการประกาศตัวแปรสั้น (:=) ในGolangใช้เพื่อสร้างตัวแปรที่มีชื่อเฉพาะและค่าเริ่มต้นวัตถุประสงค์หลักในการใช้ตัวดำเนินการนี้คือการประกาศและเริ่มต้นตัวแปรในพื้นที่ภายในฟังก์ชันและจำกัดขอบเขตของตัวแปร ประเภทของตัวแปรจะถูกกำหนดโดยประเภทของการแสดงออก คีย์เวิร์ด var ยังใช้เพื่อสร้างตัวแปรประเภทเฉพาะอีกด้วย ดังนั้นคุณสามารถพูดได้ว่ามีสองวิธีในการสร้างตัวแปรใน Golang ดังต่อไปนี้:

ตัวดำเนินการประกาศตัวแปรสั้นใน Go

  • การใช้คีย์เวิร์ด var
  • ใช้ตัวดำเนินการประกาศตัวแปรสั้น (:=)

ตอนนี้มาเรียนรู้วิธีใช้ตัวดำเนินการประกาศตัวแปรสั้นใน Golang กัน!

เนื้อหาหลัก

รูปแบบการใช้ตัวดำเนินการประกาศตัวแปรสั้นใน Golang

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

ที่นี่ คุณต้องเริ่มต้นตัวแปรทันทีหลังจากการประกาศ แต่การใช้ คำสำคัญ varช่วยให้คุณหลีกเลี่ยงการเริ่มต้นในเวลาประกาศได้ ไม่จำเป็นต้องพูดถึงประเภทของตัวแปร นิพจน์หรือค่าทางด้านขวาใช้เพื่อประเมินชนิดของตัวแปร

ตัวอย่าง: ที่นี่เราประกาศตัวแปรโดยใช้ตัวดำเนินการประกาศสั้นและไม่ได้ระบุชนิดของตัวแปร ประเภทของตัวแปรจะถูกกำหนดโดยประเภทของนิพจน์ทางด้านขวาของตัวดำเนิน:=การ

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

}

ผลลัพธ์:

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

การประกาศตัวแปรหลายตัวโดยใช้ตัวดำเนินการประกาศสั้น

ตัวดำเนินการประกาศแบบสั้นยังสามารถใช้ประกาศตัวแปรหลายตัวที่มีประเภทเดียวกันหรือต่างกันในคำประกาศเดียวได้ ประเภทของตัวแปรเหล่านี้จะได้รับการประเมินโดยนิพจน์ทางด้านขวาของตัวดำเนิน:=การ

ตัวอย่างเช่น:

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

} 

ผลลัพธ์:

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

สิ่งสำคัญที่ต้องจำ:

ตัวดำเนินการประกาศแบบสั้นสามารถใช้ได้เมื่อมีการประกาศตัวแปรอย่างน้อยหนึ่งตัวทางด้านซ้ายของตัวดำเนิน:=การเป็นใหม่ ตัวดำเนินการประกาศตัวแปรสั้นทำงานเหมือนการกำหนดตัวแปรที่ประกาศภายในบล็อกศัพท์เดียวกัน เพื่อให้เข้าใจแนวคิดนี้ดีขึ้น มาดูตัวอย่างกัน

ตัวอย่างที่ 1: โปรแกรมด้านล่างจะแสดงข้อผิดพลาดเนื่องจากไม่มีตัวแปรใหม่ทางด้านซ้ายของตัวดำเนิน:=การ

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

ข้อผิดพลาด:

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

ตัวอย่างที่ 2:

ในโปรแกรมด้านล่างนี้ คุณจะเห็นว่าบรรทัด geek3, geek2 := 456, 200 จะทำงานได้ดีโดยไม่มีข้อผิดพลาดใดๆ เนื่องจากมีตัวแปรใหม่อย่างน้อย 1 ตัว นั่นคือ 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) 
} 

ผลลัพธ์:

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

Go เป็นภาษาที่มีการกำหนดประเภทอย่างเข้มงวด เนื่องจากคุณไม่สามารถกำหนดค่าประเภทข้อมูลอื่นให้กับตัวแปรที่ประกาศไว้ได้

ตัวอย่างเช่น:

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

ข้อผิดพลาด:

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

ในการประกาศตัวแปรแบบสั้น Golang อนุญาตให้เริ่มต้นชุดตัวแปรโดยใช้การเรียกใช้ฟังก์ชันที่ส่งคืนค่าหลายค่า หรือจะพูดได้ว่าตัวแปรก็สามารถกำหนดค่าที่จะถูกประเมินในระหว่างการรันไทม์ได้เช่นกัน

ตัวอย่างเช่น:

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

ตัวแปรท้องถิ่นหรือตัวแปรทั่วโลก

ด้วยความช่วยเหลือของตัวดำเนินการประกาศตัวแปรสั้น (:=) คุณสามารถประกาศตัวแปรภายในที่มีขอบเขตเฉพาะที่ระดับบล็อกเท่านั้น โดยทั่วไปตัวแปรในพื้นที่จะถูกประกาศภายในบล็อกฟังก์ชัน หากคุณพยายามประกาศตัวแปรทั่วโลกโดยใช้ตัวดำเนินการประกาศสั้น คุณจะพบข้อผิดพลาด

ตัวอย่างที่ 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)

}

ข้อผิดพลาด:

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

ตัวอย่างที่ 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) 
	
} 

ผลลัพธ์:

900
200
Sign up and earn $1000 a day ⋙

Leave a Comment

แล็ปท็อปที่ดีที่สุดสำหรับนักเรียนในปี 2025

แล็ปท็อปที่ดีที่สุดสำหรับนักเรียนในปี 2025

นักศึกษาจำเป็นต้องมีแล็ปท็อปเฉพาะทางสำหรับการเรียน ไม่เพียงแต่จะต้องมีพลังเพียงพอที่จะทำงานได้ดีในสาขาวิชาที่เลือกเท่านั้น แต่ยังต้องมีขนาดกะทัดรัดและน้ำหนักเบาพอที่จะพกพาไปได้ตลอดวัน

วิธีเพิ่มเครื่องพิมพ์ลงใน Windows 10

วิธีเพิ่มเครื่องพิมพ์ลงใน Windows 10

การเพิ่มเครื่องพิมพ์ลงใน Windows 10 เป็นเรื่องง่าย แม้ว่ากระบวนการสำหรับอุปกรณ์แบบมีสายจะแตกต่างจากอุปกรณ์ไร้สายก็ตาม

วิธีตรวจสอบ RAM และตรวจสอบข้อผิดพลาด RAM บนคอมพิวเตอร์ของคุณด้วยอัตราความแม่นยำสูงสุด

วิธีตรวจสอบ RAM และตรวจสอบข้อผิดพลาด RAM บนคอมพิวเตอร์ของคุณด้วยอัตราความแม่นยำสูงสุด

อย่างที่ทราบกันดีว่า RAM เป็นส่วนประกอบฮาร์ดแวร์ที่สำคัญมากในคอมพิวเตอร์ ทำหน้าที่เป็นหน่วยความจำในการประมวลผลข้อมูล และเป็นปัจจัยที่กำหนดความเร็วของแล็ปท็อปหรือพีซี ในบทความด้านล่างนี้ WebTech360 จะแนะนำวิธีการตรวจสอบข้อผิดพลาดของ RAM โดยใช้ซอฟต์แวร์บน Windows

ความแตกต่างระหว่างทีวีธรรมดากับสมาร์ททีวี

ความแตกต่างระหว่างทีวีธรรมดากับสมาร์ททีวี

สมาร์ททีวีเข้ามาครองโลกอย่างแท้จริง ด้วยคุณสมบัติที่ยอดเยี่ยมมากมายและการเชื่อมต่ออินเทอร์เน็ต เทคโนโลยีได้เปลี่ยนแปลงวิธีการชมทีวีของเรา

ทำไมช่องแช่แข็งไม่มีแสง แต่ตู้เย็นมี?

ทำไมช่องแช่แข็งไม่มีแสง แต่ตู้เย็นมี?

ตู้เย็นเป็นเครื่องใช้ไฟฟ้าที่คุ้นเคยในครัวเรือน ตู้เย็นโดยทั่วไปจะมี 2 ช่อง โดยช่องแช่เย็นจะมีขนาดกว้างขวางและมีไฟที่เปิดอัตโนมัติทุกครั้งที่ผู้ใช้งานเปิด ในขณะที่ช่องแช่แข็งจะแคบและไม่มีไฟส่องสว่าง

2 วิธีในการแก้ไขความแออัดของเครือข่ายที่ทำให้ Wi-Fi ช้าลง

2 วิธีในการแก้ไขความแออัดของเครือข่ายที่ทำให้ Wi-Fi ช้าลง

เครือข่าย Wi-Fi ได้รับผลกระทบจากปัจจัยหลายประการนอกเหนือจากเราเตอร์ แบนด์วิดท์ และสัญญาณรบกวน แต่ยังมีวิธีชาญฉลาดบางอย่างในการเพิ่มประสิทธิภาพเครือข่ายของคุณ

วิธีดาวน์เกรดจาก iOS 17 เป็น iOS 16 โดยไม่สูญเสียข้อมูลโดยใช้ Tenorshare Reiboot

วิธีดาวน์เกรดจาก iOS 17 เป็น iOS 16 โดยไม่สูญเสียข้อมูลโดยใช้ Tenorshare Reiboot

หากคุณต้องการกลับไปใช้ iOS 16 ที่เสถียรบนโทรศัพท์ของคุณ นี่คือคำแนะนำพื้นฐานในการถอนการติดตั้ง iOS 17 และดาวน์เกรดจาก iOS 17 เป็น 16

เมื่อกินโยเกิร์ตเป็นประจำทุกวัน จะเกิดอะไรขึ้นกับร่างกาย?

เมื่อกินโยเกิร์ตเป็นประจำทุกวัน จะเกิดอะไรขึ้นกับร่างกาย?

โยเกิร์ตเป็นอาหารที่ยอดเยี่ยม กินโยเกิร์ตทุกวันดีจริงหรือ? เมื่อคุณกินโยเกิร์ตทุกวัน ร่างกายจะเปลี่ยนแปลงไปอย่างไรบ้าง? ลองไปหาคำตอบไปด้วยกัน!

ข้าวประเภทไหนดีต่อสุขภาพมากที่สุด?

ข้าวประเภทไหนดีต่อสุขภาพมากที่สุด?

บทความนี้จะกล่าวถึงประเภทของข้าวที่มีคุณค่าทางโภชนาการสูงสุดและวิธีเพิ่มประโยชน์ด้านสุขภาพจากข้าวที่คุณเลือก

วิธีตื่นนอนให้ตรงเวลาในตอนเช้า

วิธีตื่นนอนให้ตรงเวลาในตอนเช้า

การกำหนดตารางเวลาการนอนและกิจวัตรประจำวันก่อนเข้านอน การเปลี่ยนนาฬิกาปลุก และการปรับเปลี่ยนการรับประทานอาหารเป็นมาตรการบางประการที่จะช่วยให้คุณนอนหลับได้ดีขึ้นและตื่นนอนตรงเวลาในตอนเช้า

เคล็ดลับสำหรับการเล่น Rent Please! การจำลองผู้ให้เช่าบ้านสำหรับมือใหม่

เคล็ดลับสำหรับการเล่น Rent Please! การจำลองผู้ให้เช่าบ้านสำหรับมือใหม่

ขอเช่าหน่อยคะ! Landlord Sim เป็นเกมจำลองมือถือบน iOS และ Android คุณจะเล่นเป็นเจ้าของอพาร์ทเมนท์และเริ่มให้เช่าอพาร์ทเมนท์โดยมีเป้าหมายในการอัพเกรดภายในอพาร์ทเมนท์ของคุณและเตรียมพร้อมสำหรับผู้เช่า

รหัสป้องกันหอคอยในห้องน้ำล่าสุดและวิธีการป้อนรหัส

รหัสป้องกันหอคอยในห้องน้ำล่าสุดและวิธีการป้อนรหัส

รับรหัสเกม Bathroom Tower Defense Roblox และแลกรับรางวัลสุดน่าตื่นเต้น พวกเขาจะช่วยคุณอัพเกรดหรือปลดล็อคหอคอยที่สร้างความเสียหายได้มากขึ้น

โครงสร้าง สัญลักษณ์ และหลักการทำงานของหม้อแปลงไฟฟ้า

โครงสร้าง สัญลักษณ์ และหลักการทำงานของหม้อแปลงไฟฟ้า

มาเรียนรู้เรื่องโครงสร้าง สัญลักษณ์ และหลักการทำงานของหม้อแปลงแบบแม่นยำที่สุดกันดีกว่า

4 วิธีที่ AI ช่วยทำให้สมาร์ททีวีดีขึ้น

4 วิธีที่ AI ช่วยทำให้สมาร์ททีวีดีขึ้น

ตั้งแต่คุณภาพของภาพและเสียงที่ดีขึ้นไปจนถึงการควบคุมด้วยเสียงและอื่นๆ อีกมากมาย คุณสมบัติที่ขับเคลื่อนด้วย AI เหล่านี้ทำให้สมาร์ททีวีดีขึ้นมาก!

เหตุใด ChatGPT จึงดีกว่า DeepSeek

เหตุใด ChatGPT จึงดีกว่า DeepSeek

ในตอนแรกผู้คนมีความหวังสูงกับ DeepSeek ในฐานะแชทบอท AI ที่ทำการตลาดในฐานะคู่แข่งที่แข็งแกร่งของ ChatGPT จึงรับประกันถึงความสามารถและประสบการณ์การแชทอันชาญฉลาด