zoukankan      html  css  js  c++  java
  • 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 {
    // //结构体成员列表
    // //成员名 数据类型
    //}

  • 相关阅读:
    Codeforces Round #251 (Div. 2) A
    topcoder SRM 623 DIV2 CatAndRat
    topcoder SRM 623 DIV2 CatchTheBeatEasy
    topcoder SRM 622 DIV2 FibonacciDiv2
    topcoder SRM 622 DIV2 BoxesDiv2
    Leetcode Linked List Cycle II
    leetcode Linked List Cycle
    Leetcode Search Insert Position
    关于vim插件
    Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones
  • 原文地址:https://www.cnblogs.com/simadongyang/p/14389503.html
Copyright © 2011-2022 走看看