0Pricing
Go Academy · บทเรียน

แท็กสตรักต์คืออะไร

แนบเมทาดาทาให้ฟิลด์

แท็กสตรักต์คืออะไร เป็นบทเรียน 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 - การเข้ารหัส JSON
  • xml - การเข้ารหัส XML
  • db - การจับคู่คอลัมน์ฐานข้อมูล
  • 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แท็กสตรักต์คืออะไร
  2. แท็ก JSON
  3. ไลบรารีตรวจสอบความถูกต้อง
  4. การแยกวิเคราะห์แท็กแบบกำหนดเอง
← กลับไปที่ Go Academy