• go笔记03


    package main

    import "fmt"

    /*func pop(arr [10]int) {
    //冒泡排序

    for i := 0; i < len(arr)-1; i++ {
    for j := 0; j < len(arr)-1-i; j++ {
    if arr[j] < arr[j+1] {
    arr[j], arr[j+1] = arr[j+1], arr[j]
    }
    }
    }
    fmt.Println(arr)
    }*/
    func main() {
    //数组 是指一系列同一类型数据的集合
    //数组定义 var 数组名 [长度]类型
    //var a [10]int
    //fmt.Println(a,len(a))
    //a[0] = 1
    //a[2] = 1
    //a[4] = 2
    //a[5] = 1
    //fmt.Println(a)
    //for i,v := range a {
    // fmt.Println(i,v)
    //}
    /*var a [5]int = [5]int{1,2,3,4,5}
    fmt.Println(a)
    b := [5]int{1,2,3,4,5}
    fmt.Println(b)
    c := [5]int{12,3,4}
    fmt.Println(c)
    d := [5]int{1:20,4:100}
    fmt.Println(d)
    //... 通过初始化确定数组长度
    e := [...]int{1,2,3}
    fmt.Println(e,len(e))
    f := e
    e[2] = 100
    fmt.Println(e)
    fmt.Println(f)
    fmt.Printf("%T ",f)
    fmt.Printf("%p ",&f)
    fmt.Printf("%p ",&f[0])
    fmt.Printf("%p ",&f[1])
    fmt.Printf("%p ",&f[2])*/
    //数组求值
    //arr := [5]int{1,2,-3,4,5}
    //fmt.Println(arr)
    //var max int = arr[0]
    //var min int = arr[0]
    //var sum int
    //
    //for i := 0; i < len(arr); i++ {
    // if arr[i] > max {
    // max = arr[i]
    // }
    // if arr[i] < min {
    // min = arr[i]
    // }
    // sum += arr[i]
    //}
    //fmt.Println(max,min,sum)
    //数组翻转
    /*var arr = [11]int{1,2,3,4,5,6,7,8,9,10,11}
    i := 0 //最小下表
    j := len(arr) -1 //最大下标
    for i < j {
    arr[i], arr[j] = arr[j], arr[i]
    i++
    j--
    }
    fmt.Println(arr)*/

    //fmt.Println(arr)
    //设置随机数
    //创建随机数种子
    //rand.Seed(time.Now().UnixNano())
    //fmt.Println(rand.Int()) //生成较大的随机数
    //fmt.Println(rand.Intn(100)) //常用
    //arr := [10]int{2,5,3,2,5,6,5,3,7,1}
    //数组作为函数参数是值传递
    // 形参和实参 是不同的地址
    //内存中有两份独立的数组,存储不同的数据
    //在函数调用结束后,内存回收,不会影响主函数实参的值
    //pop(arr)
    //二维数组
    //var arr[2][3]int
    //fmt.Println(arr)
    //fmt.Println(len(arr))
    //fmt.Println(len(arr[0]))
    //arr[0][1] = 123
    //fmt.Println(arr)
    //b := [3][5]int{{1,2,3,4},{3,3,3,3}}
    //fmt.Println(b)
    //切片长度不固定
    //var slice []int //空切片
    //slice = append(slice,1,2,3,4,5)
    //fmt.Println(slice)
    //fmt.Println(len(slice))
    //fmt.Println(cap(slice))
    //arr := [3]int{12}
    //fmt.Println(arr)
    //var s2 = []int{1,2,3}
    //fmt.Println(s2)
    //s3 := []int{2222,2,22,3,2}
    //fmt.Println(s3)
    // 03 make
    //s := make([]int,5,10)
    //s = append(s, 1,2,3,4,5,6)
    //fmt.Println(s)
    //fmt.Println(len(s))
    //fmt.Println(cap(s))
    //空切片,指向内存地址编号为0的空间
    //切片名,本身就是一个地址
    /*var slice []int
    fmt.Printf("%p ",slice)
    //使用append 追加时,内存地址可能发生改变
    slice = append(slice,1,2,3)
    fmt.Println(slice)
    fmt.Printf("%p ",slice)
    fmt.Printf("%p ",&slice[0])
    fmt.Printf("%p ",&slice[1])
    fmt.Printf("%p ",&slice[2])
    fmt.Println(cap(slice))
    slice = append(slice,1,2,3)
    fmt.Println(cap(slice))
    slice = append(slice,1,2)
    fmt.Println(cap(slice))*/
    //fmt.Println(slice[49])
    //s := []int{10,20,30,40,50}
    ////[起始位置:结束位置:容量]
    //slice := s[:3]
    //fmt.Println(slice)
    //fmt.Println(len(slice))
    //fmt.Println(cap(slice))
    //var s = []int{1,2,3,4,5}
    //s1 := []int{6,7,8,9}
    //copy(s1,s)
    //fmt.Println(s1)
    //fmt.Println(s)
    //slice := []int{1,2,3,4,5,6}
    //demo(slice)
    //fmt.Println(slice)
    //var m map[int]string
    //fmt.Println(m)
    //fmt.Println(len(m))
    //m2 := make(map[int]string,3)
    //
    //m2[12] = "zhang"
    //m2[12] = "zhang"
    //m2[13] = "zhang"
    //m2[14] = "zhang"
    //m2[15] = "zhang"
    //m2[16] = "zhang"
    //m2[17] = "zhang"
    //fmt.Println(m2)
    ////初始化
    //m3 := map[int]string{1:"张三",2:"李四"}
    //fmt.Println(m3)
    //fmt.Println("%p ",m3)
    //m := make(map[string][3]int)
    //m["小明"] = [3]int{100,99,98}
    //m["小亮"] = [3]int{6,8,9}
    //m["小红"] = [3]int{101,100,102}
    //fmt.Println(m)
    //fmt.Println(m)
    //fmt.Println(m)
    //fmt.Println(m)
    //fmt.Println(m)
    //fmt.Println(m)
    //fmt.Println(m)
    //
    //value, ok := m["小明"]
    //fmt.Println(value, ok)
    //delete(m,"小明3")
    //fmt.Println(m)
    m := map[int]string{1:"貂蝉",2:"大桥",3:"小乔"}
    demo1(m)
    fmt.Println((m))
    }
    func demo1 (m map[int]string) {
    m[4] = "zhang"
    fmt.Println(m)
    }
    func demo (s []int) {
    fmt.Println(s)
    //s[0] = 123
    s = append(s,3,4,5,6)
    fmt.Println(s)

    }
    ////结构体定义
    //type 结构体名 struct {
    // //结构体成员列表
    // //成员名 数据类型
    //}

  • 相关阅读:
    图的概念、存储、遍历、最短路径问题、最小生成树、拓扑排序、关键路径
    Nginx负载均衡
    Nginx反向代理
    Nginx配置虚拟主机
    Linux下Nginx安装
    freemarker使用
    ActiveMQ与spring整合
    ActiveMQ安装
    全局异常处理
    solr整合spring
  • 原文地址:https://www.cnblogs.com/simadongyang/p/14389503.html
Copyright © 2020-2023  润新知