_(ขีดล่าง) ใน Golang เรียกว่า Blank Identifier ตัวระบุคือชื่อที่ผู้ใช้กำหนดสำหรับส่วนประกอบของโปรแกรมซึ่งใช้เพื่อวัตถุประสงค์ในการระบุตัวตน

Golangมีคุณลักษณะพิเศษในการกำหนดและใช้ตัวแปรที่ไม่ได้ใช้งานโดยใช้ Blank Identifier ตัวแปรที่ไม่ได้ใช้งานคือตัวแปรที่ผู้ใช้กำหนดในระหว่างโปรแกรม แต่ผู้ใช้ไม่เคยใช้ตัวแปรเหล่านี้เลย ตัวแปรเหล่านี้ทำให้โปรแกรมแทบจะอ่านไม่ได้ อย่างที่คุณทราบ Golang เป็นภาษาการเขียนโปรแกรมที่กระชับและอ่านง่ายกว่า จึงไม่อนุญาตให้โปรแกรมเมอร์กำหนดตัวแปรที่ไม่ได้ใช้งาน หากคุณทำเช่นนั้นคอมไพเลอร์จะแสดงข้อผิดพลาด
การใช้งาน Blank Identifier ที่แท้จริงเกิดขึ้นเมื่อฟังก์ชันส่งคืนค่าหลายค่า แต่เราต้องการค่าเพียงไม่กี่ค่าและจำเป็นต้องลบค่าที่ซ้ำซ้อน โดยพื้นฐานแล้ว มันจะแจ้งคอมไพเลอร์ว่าไม่จำเป็นต้องใช้ตัวแปรนี้และจะละเว้นโดยไม่มีข้อผิดพลาดใดๆ ซ่อนค่าของตัวแปรทำให้โปรแกรมสามารถอ่านได้ ดังนั้นเมื่อใดก็ตามที่คุณกำหนดค่าให้กับ Blank Identifier มันจะไม่มีประโยชน์
ตัวอย่างที่ 1:ในโปรแกรมด้านล่าง ฟังก์ชัน mul_divส่งคืนค่าสองค่า และเราจัดเก็บค่าทั้งสองไว้ใน ตัว ระบุmulและdivแต่ในโปรแกรมทั้งหมดเราใช้เพียงตัวแปรเดียวคือmulดังนั้นคอมไพเลอร์จะแสดงข้อผิดพลาดว่า divถูกประกาศและไม่ได้ใช้งาน
// Chương trình Go hiện trình biên dịch
// báo lỗi nếu một biến
// được khai báo nhưng không được sử dụng
package main
import "fmt"
// Hàm chính
func main() {
// gọi hàm này
// hàm trả về hai giá trị được gán
// cho định danh mul và div
mul, div := mul_div(105, 7)
// chỉ dùng biến mul
// trình biên dịch sẽ báo lỗi
fmt.Println("105 x 7 = ", mul)
}
// hàm trả về hai
// giá trị của kiểu integer
func mul_div(n1 int, n2 int) (int, int) {
// trả về các giá trị này
return n1 * n2, n1 / n2
}
ผลลัพธ์:
./prog.go:15:7: div được khai báo nhưng không được dùng
ตัวอย่างที่ 2:ใช้ตัวระบุว่างเพื่อปรับเปลี่ยนโปรแกรมด้านบน แทนที่จะระบุ div ให้ใช้_ (ขีดล่าง)เท่านั้น ช่วยให้คอมไพเลอร์ละเว้นข้อผิดพลาดที่ประกาศไว้และไม่ได้ใช้งานสำหรับตัวแปรนั้นๆ
// Chương trình Go dùng định danh trống
package main
import "fmt"
// Hàm chính
func main() {
// gọi hàm này
// hàm trả về hai giá trị
// được gán cho định danh mul và trống
mul, _ := mul_div(105, 7)
// chỉ dùng biến mul
fmt.Println("105 x 7 = ", mul)
}
// hàm trả về hai giá trị
// của kiểu integer
func mul_div(n1 int, n2 int) (int, int) {
// trả về giá trị này
return n1 * n2, n1 / n2
}
ผลลัพธ์:
105 x 7 = 735
สิ่งสำคัญที่ต้องจำ:
- คุณสามารถใช้ตัวระบุว่างหลายตัวในโปรแกรมเดียวกันได้ ดังนั้นคุณสามารถบอกได้ว่าโปรแกรม Golang สามารถมีตัวแปรได้หลายตัวโดยใช้ชื่อตัวระบุว่างไว้เหมือนกัน
- มีหลายกรณีที่จำเป็นต้องกำหนดค่าเพียงเพื่อทำให้ไวยากรณ์สมบูรณ์แม้ว่าจะรู้ว่าค่าเหล่านี้จะไม่ถูกใช้ในโปรแกรมที่ใดก็ตาม เหมือนฟังก์ชั่นที่คืนค่าหลายค่า ในกรณีส่วนใหญ่จะใช้ตัวระบุที่ว่างเปล่า
- คุณสามารถใช้ค่าใด ๆ ก็ได้ทุกประเภทด้วย Blank Identifier