go語言 數(shù)組,切片(slice),map,結(jié)構(gòu)體(struct ),對比和json操作

package main

import "fmt"
import "encoding/json"

//數(shù)組
func arr() {
    //聲明一個數(shù)組
    var a [10]int
    for i := 0; i < 10; i++ {
        a[i] = i + 1
        fmt.Printf("a[%d] = %d\n", i, a[i])
    }

    for i, v := range a {
        fmt.Println("a[", i, "]=", v)
    }
}

//切片
func slice() {
    //聲明切片和聲明array一樣,只是少了長度,此為空(nil)切片
    //var s1 []int
    //s := []int{1, 2, 3} //創(chuàng)建切片并初始化
    s1 := make([]int, 0)
    s1 = append(s1, 1)
    s1 = append(s1, 2)
    s1 = append(s1, 3)
    fmt.Println(s1)
    for i, v := range s1 {
        fmt.Println("a[", i, "]=", v)
    }
}

//map 注意:打印是無序的
func maps() {
    //var m1 map[int]string
    m1 := make(map[int]string, 10)
    m1[0] = "aaa"
    m1[1] = "bbb"
    fmt.Println(m1[0])

}

//結(jié)構(gòu)體
type Student struct {
    id   int
    name string
    sex  byte
    age  int
    addr string
}

//json
type IT struct {
    //Company不會導(dǎo)出到JSON中
    Company string `json:"-"`

    // Subjects 的值會進(jìn)行二次JSON編碼
    Subjects []string `json:"subjects"`

    //轉(zhuǎn)換為字符串,再輸出
    IsOk bool `json:"isok,string"`

    // 如果 Price 為空,則不輸出到JSON串中
    Price float64 `json:"price, omitempty"`
}

func main() {
    //結(jié)構(gòu)體賦值
    // s1 := Student{2, "aa", 'f', 20, "sz"}
    t1 := IT{"itcast", []string{"Go", "C++", "PHP", "Java"}, true, 666.666}
    b, _ := json.Marshal(t1) //b返回byte類型 需要轉(zhuǎn)換為string
    fmt.Println(string(b))
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容