zoukankan      html  css  js  c++  java
  • [学习笔记]Golang--基础数据类型

    1,不同类型的变量不能互相赋值或者操作,如
    var a int8 = 16
    var b int = 23
    c := a + b

    会报错,且int虽然默认32位,但和int32是不同的类型

    iota只在声明枚举时有用

    2、数组声明:
    array:
    var arr [5]int 长度为5,元素默认值为0,通过下标访问,如arr[2]
    省略长度赋值法 var arr := […]int{1,2,3,4,5}
    数组之间赋值是值赋值,所以函数传数组,是一个拷贝

    slice:其实是数组的引用,保存的是数组指针
    var arr [5]int{1,2,3,4,5}
    sliceB := arr[1,3]
    sliceB中即包含arr[1],arr[2],但不包括arr[3]

    slice方法:
    len:获取长度
    cap:获取容量
    append:追加元素,由于是引用类型,会改变底层数组的值,如果超过容量,会新开辟一个数组
    copy:拷贝一个slice的元素到另一个slice,并返回拷贝的元素个数

    map:
    var numbers map[string] int
    numbers := make(map[string]int)

    map是无序的,每次打印都不一样,所以只能通过key取,不能通过index取
    map长度不固定,跟slice一样,为引用类型
    delete(numbers,”one”) // 删除key为one的元素

    make初始化内部结构,并填充适当的值,返回初始化后(非零)值
    new 返回结构的指针

  • 相关阅读:
    leetcode[164] Maximum Gap
    leetcode[162] Find Peak Element
    leetcode[160] Intersection of Two Linked Lists
    leetcode[156] binary tree upside down
    leetcode[155] Min Stack
    leetcode Find Minimum in Rotated Sorted Array II
    leetcode Find Minimum in Rotated Sorted Array
    leetcode Maximum Product Subarray
    ROP
    windbg bp condition
  • 原文地址:https://www.cnblogs.com/left69/p/11730863.html
Copyright © 2011-2022 走看看