zoukankan      html  css  js  c++  java
  • go第二天

    切片 slice

    因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性,例如

    切片

    是一个拥有相同类型元素的可变长度的序列,它是基于数组类型做的一层封装吗,他非常灵活,支持自动扩容

    切片是一个引用类型,他的内部结构包括地址 长度 容量,切片一般用于快速地操作一块数据集合

    切片的本质

    切片的本质就是对底层数组的封装,它包含了三个信息,底层数组的指针,切片的长度和切片的容量

    Go语言的内建函数append() 可以为切片动态添加元素,可以一次添加一个元素,可以添加多个元素

    也可以添加另一个切片中的元素

    Go 语言中提供的映射关系容器为map,其内部使用散列表hash实现。

    map是一种无序的基于key-value 的数据结构,Go语言中的map是引用类型,必须初始化才能使用。

    函数是组织好的,可重复使用的,用于执行指定任务的代码块,本文介绍了Go语言中函数的相关内容。

    函数

    Go语言中支持函数,匿名函数和闭包,并且函数在Go语言中属于 一等公民

    Go语言中定义函数使用func关键字,具体格式如下

    func 函数名(参数)(返回值){

      函数体

    }

    其中:

    函数名:由字母,数字 下划线组成,但函数名的第一个字母不是数字,在同一个包内,函数不能重名

    参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,分隔

    返回值 返回值由返回值变量和其类型组成,也可以只写返回值的类型

    多个返回值必须用()包裹,并用,分隔

    Go 语言中的defer语句会将其后面跟随的语句进行延迟处理。在defer归属的函数即将返回时,将延迟处理的语句按

    defer定义的逆序进行执行,也就是说,先被defer的语句最后被执行,最后被defer的语句,最先被执行

  • 相关阅读:
    二叉树的镜像(剑指offer-18)
    树的子结构(剑指offer-17)
    合并两个有序链表(剑指offer-16)
    OutOfMemory相关问题(内存溢出异常OOM)
    Java内存区域
    招银网络(一面06.29)
    反转链表(剑指offer-15)
    链表中倒数第k个节点(剑指offer-14)
    调整数组顺序使奇数位于偶数前面(剑指offer-13)
    数值的整数次方(剑指offer-12)
  • 原文地址:https://www.cnblogs.com/simadongyang/p/14287782.html
Copyright © 2011-2022 走看看