美文网首页
go语言 数组,切片(slice),map,结构体(struct

go语言 数组,切片(slice),map,结构体(struct

作者: vins | 来源:发表于2020-01-10 17:56 被阅读0次
package main

import "fmt"
import "encoding/json"

//数组
func arr() {
    //声明一个数组
    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} //创建切片并初始化
    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])

}

//结构体
type Student struct {
    id   int
    name string
    sex  byte
    age  int
    addr string
}

//json
type IT struct {
    //Company不会导出到JSON中
    Company string `json:"-"`

    // Subjects 的值会进行二次JSON编码
    Subjects []string `json:"subjects"`

    //转换为字符串,再输出
    IsOk bool `json:"isok,string"`

    // 如果 Price 为空,则不输出到JSON串中
    Price float64 `json:"price, omitempty"`
}

func main() {
    //结构体赋值
    // s1 := Student{2, "aa", 'f', 20, "sz"}
    t1 := IT{"itcast", []string{"Go", "C++", "PHP", "Java"}, true, 666.666}
    b, _ := json.Marshal(t1) //b返回byte类型 需要转换为string
    fmt.Println(string(b))
}

相关文章

网友评论

      本文标题:go语言 数组,切片(slice),map,结构体(struct

      本文链接:https://www.haomeiwen.com/subject/dqdmactx.html