คำสำคัญ Defer ใน Golang

ใน Go คำสั่ง deferจะทำให้การดำเนินการของฟังก์ชันหรือวิธีการหรือวิธีการที่ไม่ระบุชื่อล่าช้าจนกว่าฟังก์ชันใกล้เคียงจะกลับมา กล่าวอีกนัยหนึ่ง อาร์กิวเมนต์ในการเลื่อนฟังก์ชันหรือวิธีการจะได้รับการประเมินทันที แต่จะไม่ดำเนินการจนกว่าฟังก์ชันใกล้เคียงจะส่งคืน คุณสามารถสร้างวิธีการที่เลื่อนออกไป ฟังก์ชัน หรือฟังก์ชันที่ไม่ระบุชื่อได้โดยใช้คำสำคัญ defer

คำสำคัญ Defer ใน Golang

รูปแบบประโยค :

// Hàm
defer func func_name(parameter_list Type)return_type{
// Code
}

// Phương thức
defer func (receiver Type) method_name(parameter_list){
// Code
}

defer func (parameter_list)(return_type){
// code
}()

หมายเหตุสำคัญ:

  • ในภาษา Go อนุญาตให้มีคำสั่ง defer หลายคำสั่งในโปรแกรมเดียวกัน และจะดำเนินการตามลำดับ LIFO (Last-In, First-Out) ดังที่แสดงในตัวอย่างที่ 2
  • ในคำสั่ง defer อาร์กิวเมนต์จะได้รับการประเมินเมื่อมีการดำเนินการคำสั่ง defer ไม่ใช่เมื่อมีการเรียกใช้
  • คำสั่ง Defer มักใช้เพื่อให้แน่ใจว่าไฟล์ถูกปิดเมื่อถึงเวลาใช้งาน หรือเพื่อปิดช่อง หรือเพื่อตรวจจับปัญหาในโปรแกรม

มาดูตัวอย่างเพื่อให้เข้าใจดีขึ้นกันดีกว่า

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

// Chương trình Go minh họa
// khái niệm của lệnh defer
package main

import "fmt"

// Các hàm
func mul(a1, a2 int) int {

	res := a1 * a2
	fmt.Println("Result: ", res)
	return 0
}

func show() {
	fmt.Println("Hello!, Quantrimang.com")
}

// Hàm chính
func main() {

	// Gọi hàm mul() 
	// Tại đây hàm mul hoạt động
	// như một hàm bình thường
	mul(23, 45)

	// Gọi hàm mul()
	// Dùng từ khóa defer 
	// Hàm the mul() 
	// là hàm defer
	defer mul(23, 56)

	// Gọi hàm show() 
	show()
}

ผลลัพธ์:

Result:  1035
Hello!, Quantrimang.com
Result:  1288

คำอธิบาย:ในตัวอย่างข้างต้น เรามีฟังก์ชันสองฟังก์ชันชื่อmul()และshow( ) ในขณะที่ ฟังก์ชัน show()จะถูกเรียกตามปกติใน ฟังก์ชัน main()ฟังก์ชันmul()จะถูกเรียกในสองวิธีที่แตกต่างกัน:

  • ขั้นแรก เราเรียกใช้ฟังก์ชัน mul ตามปกติ (โดยไม่ใช้คำสำคัญ defer) นั่นคือ mul(23, 45) และจะดำเนินการเมื่อเรียกใช้ฟังก์ชัน (เอาต์พุต: ผลลัพธ์: 1035)
  • ประการที่สอง เราเรียกใช้ฟังก์ชัน mul() เป็นฟังก์ชัน defer โดยใช้คีย์เวิร์ด defer นั่นคือ defer mul(23, 56) และจะดำเนินการ (เอาต์พุต: ผลลัพธ์: 1288) เมื่อส่งคืนวิธีการโดยรอบทั้งหมด

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

// Minh họa chương trình Go
// dùng nhiều lệnh defer, để minh họa chính sách LIFO 
package main

import "fmt"

// Các hàm
func add(a1, a2 int) int {
	res := a1 + a2
	fmt.Println("Result: ", res)
	return 0
}

// Hàm chính
func main() {

	fmt.Println("Start")

	// Nhiều lệnh defer
	// Triển khai theo thứ tự LIFO 
	defer fmt.Println("End")
	defer add(34, 56)
	defer add(10, 10)
}

ผลลัพธ์:

Start
Result:  20
Result:  90
End

ฝากความเห็น

ของตกแต่งฮาโลวีนน่ารักๆ ที่ไม่มีฉากโหดหรือน่ากลัว

ของตกแต่งฮาโลวีนน่ารักๆ ที่ไม่มีฉากโหดหรือน่ากลัว

สร้างบรรยากาศฮาโลวีนที่อ่อนโยนด้วยสีพาสเทล ผีที่เป็นมิตร ของตกแต่งที่ไม่ต้องแกะสลักง่ายๆ และเคล็ดลับความปลอดภัยที่ใช้ได้จริงสำหรับบ้านของคุณ

10 ไอเดียตกแต่งฮาโลวีนแบบ DIY จากกล่องกระดาษแข็งรีไซเคิล (ง่ายไปจนถึงขั้นสูง)

10 ไอเดียตกแต่งฮาโลวีนแบบ DIY จากกล่องกระดาษแข็งรีไซเคิล (ง่ายไปจนถึงขั้นสูง)

ประดิษฐ์ของตกแต่งฮาโลวีน 10 แบบจากกล่องกระดาษแข็งรีไซเคิล ตั้งแต่พวงมาลัยค้างคาวและฟักทอง ไปจนถึงบ้านผีสิง พร้อมขั้นตอนการทำและเคล็ดลับด้านความปลอดภัย

ชุดฮาโลวีนครูที่เด็กๆ จะจำได้ในปี 2026

ชุดฮาโลวีนครูที่เด็กๆ จะจำได้ในปี 2026

ค้นหาชุดฮาโลวีนสุดคุ้นเคยสำหรับคุณครูในปี 2026 ตั้งแต่ Bluey และ Dog Man ไปจนถึง Mario และ HUNTR/X พร้อมตัวเลือกตามช่วงอายุและเคล็ดลับความปลอดภัยในห้องเรียน

20 ชุดฮาโลวีนง่ายๆ สำหรับนักศึกษาที่คุณสามารถดัดแปลงจากของในตู้ได้

20 ชุดฮาโลวีนง่ายๆ สำหรับนักศึกษาที่คุณสามารถดัดแปลงจากของในตู้ได้

กำลังมองหาชุดฮาโลวีนสำหรับนักศึกษาแบบเร่งด่วนอยู่หรือเปล่า? ลองดู 20 ลุคที่ง่ายและประหยัดงบประมาณ ซึ่งสร้างจากเสื้อผ้าพื้นฐานในตู้ พร้อมเคล็ดลับการแต่งตัวและความปลอดภัยอย่างรวดเร็ว

สไตล์สยองขวัญจาก BookTok: หนังสือและของตกแต่งสำหรับวันฮาโลวีนที่ตอบโจทย์ความน่ากลัวทุกระดับ

สไตล์สยองขวัญจาก BookTok: หนังสือและของตกแต่งสำหรับวันฮาโลวีนที่ตอบโจทย์ความน่ากลัวทุกระดับ

สำรวจหนังสือสยองขวัญและของตกแต่งฮาโลวีนที่ได้รับแรงบันดาลใจจาก BookTok เปรียบเทียบสไตล์โกธิค อบอุ่น และสยองขวัญ พร้อมเคล็ดลับที่เป็นประโยชน์สำหรับการจัดมุมอ่านหนังสือที่ปลอดภัย

วิธีจัดงานปาร์ตี้ฮาโลวีนเสมือนจริงสำหรับทีมที่ทำงานทางไกล

วิธีจัดงานปาร์ตี้ฮาโลวีนเสมือนจริงสำหรับทีมที่ทำงานทางไกล

วางแผนจัดงานปาร์ตี้ฮาโลวีนเสมือนจริงที่ทุกคนสามารถเข้าร่วมได้ ไม่ว่าจะเป็นทีมที่ทำงานจากระยะไกล ด้วยตารางเวลาที่เหมาะสมกับเขตเวลา เกมง่ายๆ ตัวเลือกที่เข้าถึงได้ง่าย และรายการตรวจสอบสำหรับการจัดงานที่ใช้งานได้จริง

น่ากลัวแต่ก็แสนน่ารัก: ไอเดียจัดงานปาร์ตี้ฮาโลวีนสำหรับโรงเรียนประถม

น่ากลัวแต่ก็แสนน่ารัก: ไอเดียจัดงานปาร์ตี้ฮาโลวีนสำหรับโรงเรียนประถม

วางแผนจัดงานปาร์ตี้ฮาโลวีนสนุกๆ สำหรับเด็กประถม ด้วยงานประดิษฐ์ง่ายๆ เกม ขนมสำหรับทุกคน เคล็ดลับการแต่งกาย และตัวอย่างตารางเรียนในห้องเรียน 75 นาที

ไอเดียตกแต่งโต๊ะทำงานสำหรับห้องทำงานสไตล์หลอนๆ

ไอเดียตกแต่งโต๊ะทำงานสำหรับห้องทำงานสไตล์หลอนๆ

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

ไอเดียชุดแฟนซีจากวัฒนธรรมป๊อปที่จะมาแรงในวันฮาโลวีนปี 2026

ไอเดียชุดแฟนซีจากวัฒนธรรมป๊อปที่จะมาแรงในวันฮาโลวีนปี 2026

วางแผนลุคฮาโลวีนปี 2026 ที่น่าจดจำด้วยชุดคอสตูมจากวัฒนธรรมป๊อปที่ได้รับแรงบันดาลใจจากสไปเดอร์แมน ซูเปอร์เกิร์ล ทอยสตอรี่ 5 โมอาน่า มาริโอ และเวนส์เดย์

ลูกอมและฟักทองที่เหลือจากวันฮาโลวีน: ควรทำอะไรต่อดี

ลูกอมและฟักทองที่เหลือจากวันฮาโลวีน: ควรทำอะไรต่อดี

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