GO语言基础语法|青训营笔记

92 阅读2分钟
  • 本次参加青训营的目的是为了学习go语言,近期的目标是将go语言的基础学好。这里的课程有从基础到实践再到高质量编程,可以说是非常全面了。
  • 首先,我了解到的是go语言的语法特点,它与我之前学习的其他语言还是有着一些区别的,Go语言也称为 Golang,是由 Google 公司开发的一种静态强类型、编译型、并发型、并具有垃圾回收功能的编程语言。
  • go语言的特点:1、语法简洁;Go语言简单易学,学习曲线平缓。2、代码风格统一。3、执行性能好。4、开发效率高;Go语言内置了垃圾回收机制,使其拥有像Python、PHP等解释性语言的一样的开发效率。5、支持并发。
  • 在go语言的这些特点中,我比较感兴趣的方面除了执行性能好、开发效率高,就是其中的垃圾回收功能了,现引用网上资料如下。

Go语言自带垃圾回收机制(GC);GC通过独立的进程执行,它会搜索不再使用的变量,并将其释放。在计算中。内存空间包含两个重要的区域:栈区 (Stack) 和堆区 (Heap);栈区一般存储了函数调用的参数、返回值以及局部变量,不会产生内存碎片,由编译器管理,无需开发者管理;而堆区会产生内存碎片,在Go语言中堆区的对象由内存分配器分配并由垃圾收集器回收。

为了更好的学习go语言,我认为有必要对这种语言先做一个全面的了解。

go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。不同于Java,Go内嵌了关联数组(也称为哈希表(Hashes)或字典(Dictionaries) ),就像字符串类型一样。