Nil
Nil merupakan sebuah data yang kosong (tidak bernilai). Dalam bahasa pemrogaman lain, suatu objek yang belum diinisialisasi biasanya akan secara otomatis bernilai null atau nil. Namun, Golang memiliki perilaku yang berbeda. Saat kita membuat sebuah variable dengan tipe data tertentu, variable tersebut tidak diisi dengan null atau nil, melainkan berisi default value untuk tipe data yang digunakan. Misalnya, ketika kita membuat variable dengan tipe data string maka variable tersebut secara otomatis akan berisi string kosong. Nil hanya bisa digunakan pada beberapa tipe data, yaitu interface, map, slice, pointer, function, dan channel.
Berikut ini contoh penggunaan nil:
package main
import "fmt"
func NewMap(name string) map[string]string {
if name == "" {
return nil
}
return map[string]string{"name": name}
}
func main() {
user := NewMap("")
if user == nil {
fmt.Println("Kosong")
} else {
fmt.Println(user)
}
// contoh kalau tanpa menggunakan nil
if user["name"] == "" {
fmt.Println("Kosong")
} else {
fmt.Println(user)
}
}
Berikutnya: #33: Error Interface