GO基础语法

  1. 方法或函数调用时,传入参数一般都是值复制,除非是map、slice、channel、指针类型是引用传递

  2. 短的变量声明(Short Variable Declarations),即自动推导,只能在函数内部使用

  3. 字符串与[]byte之间的转换是复制(有内存消耗),使用range来避免内存分配来提高性能

  4. 使用for range迭代map时每次迭代的顺序可能不一样,map的迭代事随机的

  5. switch case匹配case条件后默认退出,除非使用fallthrough继续匹配

  6. 没有前置自增、前置自减

  7. 位运算优先级高于四则运算

  8. log包中的log.Fatallog.Panic不仅仅记录在日志,还会终止程序

  9. nil只能赋值给指针、channel、func、interface、map或slice类型的变量

  10. makenew的区别

    1. make只能用于slice、map、channel的初始化,它返回的类型就是这三个类型的本身,而不是他们的指针类型,因为这三种类型就是引用类型。分配空间并初始化。

      // The make built-in function allocates and initializes an object of type
      // slice, map, or chan (only). Like new, the first argument is a type, not a
      // value. Unlike new, make's return type is the same as the type of its
      // argument, not a pointer to it. The specification of the result depends on
      // the type:
      // Slice: The size specifies the length. The capacity of the slice is
      // equal to its length. A second integer argument may be provided to
      // specify a different capacity; it must be no smaller than the
      // length. For example, make([]int, 0, 10) allocates an underlying array
      // of size 10 and returns a slice of length 0 and capacity 10 that is
      // backed by this underlying array.
      // Map: An empty map is allocated with enough space to hold the
      // specified number of elements. The size may be omitted, in which case
      // a small starting size is allocated.
      // Channel: The channel's buffer is initialized with the specified
      // buffer capacity. If zero, or the size is omitted, the channel is
      // unbuffered.
      func make(t Type, size ...IntegerType) Type
    2. new只接受一个参数,这个参数是一个类型,返回一个指向该类型内存地址的指针,同时把分配的内存置为零。new不仅能够为系统默认的数据类型分配空间,也能为自定义类型分配空间

      // The new built-in function allocates memory. The first argument is a type,
      // not a value, and the value returned is a pointer to a newly
      // allocated zero value of that type.
      func new(Type) *Type
  11. 常量无法寻址,不能进行取指针操作操作

Go常见的更多相关文章

  1. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  2. C++常见笔试面试要点以及常见问题

    1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...

  3. CSS入门常见的问题

    写在前面:本文简单介绍一下css的三大特性:层叠性.继承性.优先级.以及margin,padding,浮动,定位几个知识点.限于水平,不深入探讨,仅作为学习总结. 1,三特性 1)层叠性:同标签同权重 ...

  4. Linux环境下常见漏洞利用技术(培训ppt+实例+exp)

    记得以前在drops写过一篇文章叫 linux常见漏洞利用技术实践 ,现在还可以找得到(https://woo.49.gs/static/drops/binary-6521.html), 不过当时开始 ...

  5. salesforce 零基础学习(五十四)常见异常友好消息提示

    异常或者error code汇总:https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_calls_con ...

  6. springmvc环境搭建以及常见问题解决

    1.新建maven工程 a)  打开eclipse,file->new->project->Maven->Maven Project b)  下一步 c)   选择创建的工程为 ...

  7. Objective-C runtime的常见应用

    用Objective-C等面向对象语言编程时,"对象"(object)就是"基本构造单元"(building block).开发者可以通过对象来存储并传递数据. ...

  8. Net中的常见的关键字

    Net中的关键字有很多,我们最常见的就有new.base.this.using.class.struct.abstract.interface.is.as等等.有很多的,在这里就介绍大家常见的,并且有 ...

  9. CSS常见居中讨论

    先来一个常见的案例,把一张图片和下方文字进行居中: 首先处理左右居中,考虑到img是一个行内元素,下方的文字内容也是行内元素,因此直接用text-align即可: <style> .con ...

  10. 网站美化常见CSS

    伴随网络时代日新月异的发展,用户不仅仅满足于软件系统的功能需求,对软件系统的页面显示效果以及交互模式的要求也逐渐提高.尤其是展示性质的平台页面对于界面美化效果要求更高,有一句话说的好:Html是结构, ...

随机推荐

  1. GameFramework食用指南

    1.框架简介 GF框架分两部分,GameFramework(GF)和UnityGameFramework(UGF): 通过接口的形式对Unity引擎进行了解耦: GF独立于Unity,具体业务逻辑实现 ...

  2. NC207028 第k小数

    NC207028 第k小数 题目 题目描述 给你一个长度为 \(n\) 的序列,求序列中第 \(k\) 小数的多少. 输入描述 多组输入,第一行读入一个整数 \(T\) 表示有 \(T\) 组数据. ...

  3. PMP 考试常见工具与技术点总结

    转载请注明出处: 网络图:项目进度活动之间的逻辑关系,用来推算关键路径,最大浮动时间等: 横道图(甘特图):以图示的方式,通过活动列表和时间刻度,来展示项目获得那个顺序和持续时间 责任分配矩阵:每件事 ...

  4. Nginx越界读取缓存漏洞 CVE-2017-7529

    1.漏洞描述 Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件.缓存的部分存储在文件中,每个缓存文件包括"文件头"+"HTTP返回包头" ...

  5. dynamic + shardingsphere(4.1.1) 实现动态分库分表

    1. 主要依赖: <dependency> <groupId>com.baomidou</groupId> <artifactId>dynamic-da ...

  6. 如何验收安卓PCBA主板的质量和性能

    . 版本:v0.1 作者:河东西望 日期:2022-7-15 . 目录 1 有哪些情况需要验收? 2 有哪些验收测试? 2.1 主板测试 2.2 工程测试 2.3 性能测试 2.4 压力测试 2.5 ...

  7. 函数式接口的概念&函数式接口的定义和函数式接口的使用

    函数式接口概念 函数式接口在Java中是指:有且仅有一个抽象方法的接口. 函数式接口,即适用于函数式编程场景的接口.而Java中的函数式编程体现就是Lambda,所以函数式接口就是可以适用于Lambd ...

  8. Kubernetes v1.24 基于containerd部署

      k8s每个节点安装containerd.   containerd安装参考<containerd安装博文>:https://www.cnblogs.com/punchlinux/p/1 ...

  9. 华为交换机设置ntp时间同步

    操作交换机型号:Huawei S5720 查看时间发现时间不对 [HUAWEI]display clock 2021-04-01 21:41:35 Thursday Time Zone(Default ...

  10. DateFormat类和SimpleDateFormat类介绍

    DateFormat类 java.test.DateFormat:是日期/时间格式化子类的抽象类 作用:格式化(也就是日期->文本).解析(文本->日期) 成员方法: String for ...