Sat, 7 Mar 2015 2:36 pm
belajar list/array di $go

Yang saya tahu pada awalnya, pada #javascript dan #python
    
    a = ['ikan', 'sayur', 'buah', 1, 2, 3]

selesai, list sudah langsung terbentuk
bahkan dengan #php pun mudah

    a = array('ikan', 'sayur', 'buah', 1, 2, 3)

Buum, jadi ....

di GO lumayan runyam, namun JELAS dan RAPI

    listA   := []string{"ikan","sayur","buah", "1", "2", "3"}
    listB, _ := json.Marshal(listA)
    fmt.Println(string(listB)) // output ["ikan","sayur","buah","1","2","3"]

    listA2   := []int{1,2,3}
    listB2, _ := json.Marshal(listA2)
    fmt.Println(string(listB2)) // output [1,2,3]

listA adalah list dengan type data STRING, angka bisa masuk, tapi dia tidak diperlakukan sebagai INT (dengan petik dua "")
sedangankan listA2 adalah list dengan type data INT, anggotanya benar-benar angka (tanpa petik dua ""),
ikan sayur buah ERROR pada saat di-compile jika dipaksakan masuk

kode lengkapnya #go-nya :

    package main

    import "fmt"
    import "encoding/json"

    type Blog struct {
        id string
        things string
        tag []string
    }

    func main() {
        
        fmt.Println("Mari mulai ...")

        // list
        listA   := []string{"ikan","sayur","buah", "1", "2", "3"}
        listB, _ := json.Marshal(listA)
        fmt.Println(string(listB))

        listA2   := []int{1,2,3}
        listB2, _ := json.Marshal(listA2)
        fmt.Println(string(listB2))   

        // dict
        mapA    := map[string]int {"apple": 5, "lettuce": 7}
        mapB, _ := json.Marshal(mapA)
        fmt.Println(string(mapB))    
    }

165
Additional Info: