0Pricing
Go Academy · Pelajaran

Apa Itu Tag Struct

Lampirkan metadata ke field

Apa Itu Tag Struct adalah pelajaran Go Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Go Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Go Academy mencakup 4 pelajaran total.

Apa Itu Tag Struktur

Tag struktur adalah string metadata yang dilampirkan pada sebuah bidang struktur. Tag ini tidak memengaruhi nilai bidang, tetapi membawa instruksi untuk pustaka yang membacanya.

Sintaks Tag

Tag muncul setelah jenis bidang dan dibungkus dalam tanda kutip string mentah. Setiap tag merupakan pasangan key:"value". Beberapa pasangan dipisahkan dengan spasi.

Tag yang umum terlihat seperti json:"name".

Struktur Bertag

Di sini, sebuah bidang memiliki tag json yang memberi tahu penyandi untuk menggunakan nama kunci dalam huruf kecil.

package main

import "fmt"

type User struct {
	Name string "json:\"name\""
}

func main() {
	u := User{Name: "Ann"}
	fmt.Println(u.Name)
}

Tag Hanyalah Metadata

Tag tidak mengubah cara kode Anda menggunakan bidang tersebut. u.Name tetap berfungsi secara normal. Tag hanya penting bagi pustaka yang memeriksanya melalui refleksi.

Beberapa Tag pada Satu Bidang

Satu bidang dapat memiliki beberapa kunci tag, yang masing-masing digunakan oleh pustaka berbeda.

package main

import "fmt"

type Product struct {
	Name string "json:\"name\" db:\"product_name\""
}

func main() {
	p := Product{Name: "Pen"}
	fmt.Println(p.Name)
}

Kunci Tag yang Umum

Kunci tag yang sering digunakan meliputi:

  • json - penyandian JSON
  • xml - penyandian XML
  • db - pemetaan kolom basis data
  • validate - aturan validasi

Membaca Tag melalui Refleksi

Paket reflect memungkinkan Anda membaca tag saat runtime. field.Tag.Get("json") mengembalikan nilai untuk kunci 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"))
}

Metode Tag.Get

Tag.Get(key) mengembalikan nilai untuk sebuah kunci, atau string kosong jika kunci tersebut tidak ada. Tag.Lookup(key) juga melaporkan apakah kunci tersebut ada.

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

Konvensi Format Tag

Format tag standar adalah key:"value" tanpa spasi di sekitar titik dua. Pustaka mengharapkan konvensi ini. Tag yang formatnya tidak benar mungkin diabaikan secara diam-diam.

Mengapa Menggunakan Tag

Tag memungkinkan Anda menyimpan aturan pemetaan di dekat bidang yang dijelaskannya, alih-alih dalam konfigurasi terpisah. Satu struktur dapat digunakan untuk keluaran JSON, baris basis data, dan validasi, semuanya dikendalikan oleh tag.

Tag pada Bidang yang Tidak Diekspor

Tag pada bidang yang tidak diekspor (diawali huruf kecil) terlihat melalui refleksi, tetapi sebagian besar penyandi melewati seluruh bidang yang tidak diekspor. Pastikan bidang yang ingin Anda serialisasikan diekspor (diawali huruf kapital).

Pemeriksaan Singkat

Apa tujuan sebuah tag struktur?

Ringkasan

Tag struktur:

  • Metadata yang dilampirkan pada bidang dalam bentuk key:"value"
  • Tidak memengaruhi kode normal; dibaca melalui refleksi
  • Digunakan oleh json, xml, db, validate, dan lainnya

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Apa Itu Tag Struct” gratis?

Ya — teks lengkap “Apa Itu Tag Struct” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Go Academy, upgrade ke CoddyKit PRO. Kursus Go Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Apa Itu Tag Struct”?

Lampirkan metadata ke field Kamu berlatih Go Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Go Academy?

Tidak diperlukan pengalaman sebelumnya. Go Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Apa Itu Tag Struct” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Go Academy ini?

Ya. Setiap pelajaran Go Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Apa Itu Tag Struct
  2. Tag JSON
  3. Pustaka Validasi
  4. Penguraian Tag Kustom
← Kembali ke Go Academy