zoukankan      html  css  js  c++  java
  • golang ---常用函数:make

    简介

    内建函数 make 用来为 slice,map 或 chan 类型分配内存和初始化一个对象(注意:只能用在这三种类型上)

    slice

    // 长度为5,容量为10的slice,slice中的元素是int
    var slice_ []int = make([]int,5,10)
    fmt.Println(slice_)
    
    var slice_1 []int = make([]int,5)
    fmt.Println(slice_1)
    
    var slice_2 []int = []int{1,2}
    fmt.Println(slice_2)
    

      

    打印结果:

    [0 0 0 0 0]
    [0 0 0 0 0]
    [1,2]

    用第三个参数设置该slice的容量(即底层数组的长度)。如果能够预足容量,那么在slice中数据增长的过程中不需要更换底层数组(附带拷贝过程),这样效率更高

    map

    var m_ map[string]int = make(map[string]int)
    m_["one"] = 1
    fmt.Println(m_)
    
    var m map[string]int = map[string]int{"1":1}
    m["2"] = 2
    fmt.Println(m)
    

      

    打印结果:

    map[one:1]
    map[1:1 2:2]

    根据 size 大小来初始化分配内存,不过分配后的 map 长度为 0,如果 size 被忽略了,那么会在初始化分配内存时分配一个小尺寸的内存

    chanel

    管道缓冲区依据缓冲区容量被初始化。如果容量为 0 或者忽略容量,管道是没有缓冲区的

     
  • 相关阅读:
    BOZJ2200: [Usaco2011 Jan]道路和航线
    poj3662
    网络流
    最短路
    约瑟夫环
    二分图匹配
    HDU 3938 Portal
    背包dp专题训练
    noip2013day1模拟赛
    2017.10.24:lca专题系列
  • 原文地址:https://www.cnblogs.com/saryli/p/11385412.html
Copyright © 2011-2022 走看看