Perubahan Kecil yang Memberikan Hasil Luar BiasaAtomic Habits: Perubahan Kecil yang Memberikan Hasil Luar Biasa Orang mengira ketika Anda ingin mengubah hidup, Anda perlu memikirkan hal-hal besar. Namun pakar kebiasaan terkenal kelas dunia James Clear telah menemukan sebuah cara lain. Buy |
Saat kita bekerja dalam environment project yang komplek, kita akan menemukan sebuah struct yang konstruktornya dipakai oleh banyak method.
Perhatikan contoh kode berikut ini:
package mainimport (
"encoding/json"
"fmt"
)type employee struct {
Name string `json:"name,omitempty"`
Address string `json:"address"`
}func main() {
dataEmployee := employee{
Name: "",
Address: "jalan raya kenari",
}byte, err := json.Marshal(dataEmployee)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(string(byte))
}
Result:
{"Address": "jalan raya kenari"}
Solusinya kita bisa menambahkan pointer pada tipe data dari object-key Name, menjadi seperti berikut:
Name *string `json:"name,omitempty"`
dnama := ""
dataEmployee := employee{
Name: &dnama,
Address: "jalan raya kenari",
}
Perhatikan kode program dibawah ini:
package mainimport (
"encoding/json"
"fmt"
)type employee struct {
Name *string `json:"name,omitempty"`
Address string `json:"address"`
}func main() {
dnama := ""
dataEmployee := employee{
Name: &dnama,
Address: "jalan raya kenari",
}byte, err := json.Marshal(dataEmployee)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println(string(byte))
}
Result:
{"name":"","address":"jalan raya kenari"}