go初识

package main

import (
    "fmt"
    "reflect"
)

func mathStduy() {
    var a int = 5
    var b int = 6
    c := a + b
    fmt.Printf("c: %v\n", c)
    d := b - a
    fmt.Printf("d: %v\n", d)
    e := c * a
    fmt.Printf("e: %v\n", e)
    f := b % a
    fmt.Printf("f: %v\n", f)
    fmt.Printf("reflect.TypeOf(a): %v\n", reflect.TypeOf(a))
}
func arrayStudy() {
    var a [2]int = [2]int{2}
    fmt.Printf("a: %v\n", a)
    var b = [3]int{5, 6, 3}
    fmt.Printf("b: %v\n", b)
    var c = [...]int{4, 5, 4, 3, 3}
    fmt.Printf("c: %v\n", c)
    var d = [7]string{3: "hello world", 6: "tom"} //使用索引,指定元素的位置
    fmt.Printf("d: %v\n", d)
    var f = [...]struct {
        name string
        age  int
    }{
        {"李华", 1},
    }
    fmt.Printf("f: %v\n", f)
    var e = [3][3]int{{1, 3, 3}, {5, 6, 4}} //多维数组
    fmt.Printf("d: %v\n", e)
    fmt.Printf("len(e): %v\n", len(e))
    fmt.Printf("cap(d): %v\n", cap(d))
    //数组遍历
    for i := 0; i < len(c); i++ {
        fmt.Printf("c[i]: %v\n", c[i])
    }
    for k, v := range b {
        fmt.Printf("v: %v,%v\n", k, v)
    }
    //二维数组
    for k, v := range e {
        for k1, v1 := range v {
            fmt.Printf("%d,%d,%d\n", k, k1, v1)
        }
    }
}
func sliceStudy() {
    var a []int
    fmt.Printf("a: %v\n", a)
    var b []int = make([]int, 10)
    fmt.Printf("b: %v\n", b)
    var c []int = make([]int, 0, 0)
    fmt.Printf("c: %v\n", c)
    var d []int = []int{1, 8, 5, 6, 5}
    fmt.Printf("d: %v\n", d)
    f := [5]int{3, 4, 5, 6, 7}
    e := f[2:3]
    fmt.Printf("f: %v\n", e)

}
func init() {
    fmt.Printf("this is init \n")
}
func main() {
    fmt.Printf("this is func main\n")
    // mathStduy()
    // arrayStudy()
    sliceStudy()
}

 

posted @ 2022-06-23 11:19  leo0362  阅读(24)  评论(0)    收藏  举报