แท็กสตรักต์คืออะไร
แนบเมทาดาทาให้ฟิลด์
แท็กสตรักต์คืออะไร เป็นบทเรียน Go Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Go Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน
แท็กโครงสร้างคืออะไร
แท็กโครงสร้างคือสตริงข้อมูลเมทาดาทาที่แนบอยู่กับฟิลด์ของโครงสร้าง แท็กนี้ไม่ส่งผลต่อค่าของฟิลด์ แต่มีคำสั่งสำหรับไลบรารีที่อ่านแท็ก
ไวยากรณ์ของแท็ก
แท็กจะปรากฏหลังชนิดของฟิลด์และอยู่ภายในเครื่องหมายคำพูดของสตริงดิบ แท็กแต่ละรายการเป็นคู่ key:"value" และคู่หลายรายการจะแยกกันด้วยช่องว่าง
แท็กทั่วไปมีลักษณะดังนี้ json:"name"
โครงสร้างที่มีแท็ก
ในที่นี้ฟิลด์มีแท็ก json ซึ่งบอกตัวเข้ารหัสให้ใช้ชื่อคีย์เป็นตัวพิมพ์เล็ก
package main
import "fmt"
type User struct {
Name string "json:\"name\""
}
func main() {
u := User{Name: "Ann"}
fmt.Println(u.Name)
}แท็กเป็นเพียงเมทาดาทา
แท็กไม่เปลี่ยนวิธีที่โค้ดของคุณใช้ฟิลด์ u.Name ยังคงทำงานตามปกติ แท็กมีความสำคัญเฉพาะกับไลบรารีที่ตรวจสอบแท็กผ่านการสะท้อนชนิดข้อมูล
หลายแท็กในฟิลด์เดียว
ฟิลด์เดียวสามารถมีคีย์แท็กหลายรายการได้ โดยแต่ละรายการใช้กับไลบรารีที่แตกต่างกัน
package main
import "fmt"
type Product struct {
Name string "json:\"name\" db:\"product_name\""
}
func main() {
p := Product{Name: "Pen"}
fmt.Println(p.Name)
}คีย์แท็กที่ใช้บ่อย
คีย์แท็กที่ใช้บ่อย ได้แก่:
json- การเข้ารหัส JSONxml- การเข้ารหัส XMLdb- การจับคู่คอลัมน์ฐานข้อมูลvalidate- กฎการตรวจสอบความถูกต้อง
การอ่านแท็กผ่านการสะท้อนชนิดข้อมูล
แพ็กเกจ reflect ช่วยให้คุณอ่านแท็กขณะโปรแกรมทำงานได้ field.Tag.Get("json") คืนค่าของคีย์ json
package main
import (
"fmt"
"reflect"
)
type User struct {
Name string "json:\"name\""
}
func main() {
t := reflect.TypeOf(User{})
f := t.Field(0)
fmt.Println(f.Tag.Get("json"))
}เมธอด Get ของแท็ก
Tag.Get(key) คืนค่าของคีย์ หรือคืนสตริงว่างหากไม่มีคีย์นั้น Tag.Lookup(key) ยังรายงานด้วยว่าคีย์นั้นมีอยู่หรือไม่
package main
import (
"fmt"
"reflect"
)
type User struct {
Name string "json:\"name\""
}
func main() {
f := reflect.TypeOf(User{}).Field(0)
val, ok := f.Tag.Lookup("json")
fmt.Println(val, ok)
}รูปแบบมาตรฐานของแท็ก
รูปแบบแท็กมาตรฐานคือ key:"value" โดยไม่มีช่องว่างรอบเครื่องหมายทวิภาค ไลบรารีต่าง ๆ คาดหวังรูปแบบนี้ แท็กที่มีรูปแบบไม่ถูกต้องอาจถูกละเว้นโดยไม่มีการแจ้งเตือน
เหตุผลที่ใช้แท็ก
แท็กช่วยให้คุณเก็บกฎการจับคู่ไว้ใกล้กับฟิลด์ที่กฎเหล่านั้นอธิบาย แทนที่จะเก็บไว้ในการตั้งค่าแยกต่างหาก โครงสร้างหนึ่งรายการสามารถใช้กับผลลัพธ์ JSON แถวฐานข้อมูล และการตรวจสอบความถูกต้องได้ โดยขับเคลื่อนทั้งหมดด้วยแท็ก
แท็กในฟิลด์ที่ไม่ได้ส่งออก
แท็กของฟิลด์ที่ไม่ได้ส่งออก (ชื่อขึ้นต้นด้วยตัวพิมพ์เล็ก) มองเห็นได้ผ่านการสะท้อนชนิดข้อมูล แต่ตัวเข้ารหัสส่วนใหญ่จะข้ามฟิลด์ที่ไม่ได้ส่งออกทั้งหมด ให้ฟิลด์ที่ต้องการแปลงข้อมูลเป็นฟิลด์ที่ส่งออก โดยตั้งชื่อขึ้นต้นด้วยตัวพิมพ์ใหญ่
ตรวจสอบความเข้าใจอย่างรวดเร็ว
แท็กโครงสร้างมีจุดประสงค์อะไร
สรุป
แท็กโครงสร้าง:
- เมทาดาทาที่แนบกับฟิลด์ในรูปแบบ
key:"value" - ไม่ส่งผลต่อโค้ดปกติ และอ่านได้ผ่านการสะท้อนชนิดข้อมูล
- ใช้โดย json, xml, db, validate และอื่น ๆ
คำถามที่พบบ่อย
บทเรียน “แท็กสตรักต์คืออะไร” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “แท็กสตรักต์คืออะไร” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Go Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Go Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “แท็กสตรักต์คืออะไร”
แนบเมทาดาทาให้ฟิลด์ คุณปฏิบัติ Go Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Go Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Go Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “แท็กสตรักต์คืออะไร” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Go Academy นี้ได้ไหม
ได้ บทเรียน Go Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- แท็กสตรักต์คืออะไร
- แท็ก JSON
- ไลบรารีตรวจสอบความถูกต้อง
- การแยกวิเคราะห์แท็กแบบกำหนดเอง