Struct
Struct adalah kumpulan data field yang dideklarasikan dengan tipe data. Struct berfungsi sebagai sebuah template Kepada kumpulan beberapa data. Apabila dibandingkan dengan pemrograman berorientasi objek, struct ini Nyaris sama seperti sebuah objek atau class. Biasanya, struct digunakan sebagai representasi dari sebuah data dalam aplikasi kita. Misalnya data yang Dapat dijadikan struct Ialah seperti user, product, dan lain-lain.
Sebagai Misalnya, misalkan kita Mempunyai data user dengan atribut name, email, dan age. Maka berikut ini Misalnya kodenya Apabila dituliskan dalam bentuk struct:
type User struct {
Name, Email string
Age int
}
Membikin Data Berdasarkan Struct
Seperti yang sudah kita pahami sebelumnya, struct hanyalah template Kepada suatu data. Demi kita Membikin struct, kita Enggak Dapat langsung menggunakannya karena Enggak Mempunyai data apapun. Kita Dapat Membikin data berdasarkan struct yang sudah kita buat. Hal ini Nyaris sama seperti Demi kita Membikin sebuah objek berdasarkan class pada pemrograman berorientasi objek.
Kepada Membikin data berdasarkan struct, kita Dapat mendeklarasikan sebuah variabel dengan tipe data struct yang Mau kita gunakan. Perhatikan Misalnya berikut ini:
type User struct {
Name, Email string
Age int
}
func main() {
var user User
user.Name = "Rizky"
user.Email = "[email protected]"
user.Age = 22
fmt.Println(user)
}
output:
Kepada mengambil data berdasarkan field kita Dapat gunakan tanda titik seperti ini:
fmt.Println(user.Name)
fmt.Println(user.Email)
fmt.Println(user.Age)
output:
Struct Literals
Terdapat beberapa Metode yang Dapat kita gunakan Kepada Membikin struct, salah satunya adalah dengan Membikin struct dan mengisi datanya secara langsung. Berikut ini contohnya:
Dengan menyebutkan nama field:
Tanpa menyebutkan nama field:
Perlu diperhatikan, ketika kita Membikin data struct tanpa menyebutkan nama fieldnya, maka urutan data tiap field harus sesuai dengan struct-nya. Apabila urutannya Enggak sesuai, maka rentan terjadi error Demi Terdapat perubahan pada struct. Oleh karena itu, disarankan mengunakan Metode yang menyebutkan nama field karena lebih Terjamin Apabila struct kita ubah.
Struct Method
Dalam pemrograman berorientasi objek, kita Standar Membikin sebuah class yang di dalamnya terdapat satu atau lebih method yang Mempunyai tugasnya masing-masing. Di Golang, kita juga Dapat Membikin sebuah struct agar seolah-olah Mempunyai method seperti class dalam pemrograman berorientasi objek.
Metode Membikin struct method adalah dengan menuliskan struct yang Mau kita tambahkan method di depan deklarasi function. Agar Enggak membingungkan, berikut ini adalah Misalnya Membikin struct method:
package main
import fmt
// Membikin struct User
type User struct {
Name, Email string
Age int
}
// Membikin method yang akan ditempelkan pada struct User.
// kita menuliskan struct-nya di depan nama function,
// Lampau Dapat kita gunakan struct tersebut dalam function yang kita buat.
func (user User) GetName() string {
return user.Name
}
// Misalnya, menambahkan method lainnya pada stuct User.
funct (user User) GetEmail() string {
return user.Email
}
func main() {
var user User
user.Name = "Rizky"
user.Email = "[email protected]"
user.Age = 22
// karena struct user sudah ditambahkan method, sekarang kita Dapat menggunakannya
fmt.Println(user.GetName())
fmt.Println(user.GetEmail())
}
output:
Berikutnya: #31: Interface