C++选手快速上手Go(1) | 青训营笔记

106 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第1篇笔记

第一节:Go语言上手-基础语言

Go语言的一些特性

  1. 高性能、高并发
  2. 语法简单、学习曲线平滑
  3. 丰富的标准库
  4. 完善的工具链
  5. 静态链接
  6. 快速编译
  7. 跨平台
  8. 调度、内存分配、垃圾回收

Go最为人所称道的就是它方便敏捷的高并发开发特点,通过轻量的用户级线程(协程)帮助使用者实现稳定易用的高并发;

与Python类似,Golang有许多开源易用的库,协助高效开发,且有许多重大开源项目用Go作为开发语言,比如当下较火的国产分布式关系数据库TIDB以及时序数据库InfluxDB;

Go的调度机制、内存分配机制以及垃圾回收机制也是非常值得注意的一大特点,正是基于这三个机制,golang每个协程的大小和执行效率才能得到控制,高并发的特性才能够得到保障

快速入门

关键字

break        default      func         interface    select
case         defer        go           map          struct
chan         else         goto         package      switch
const        fallthrough  if           range        type
continue     for          import       return       var

语法不同点

Go语句一般无需“ ; ”结尾

Go删除了while,使用for来完全代替while

Go语言声明变量与C++最大的不同在于:变量类型在最后,此外在类中只有当变量名首字母为大写才算作公共变量

三种变量声明方式:

Var  name string = “wys”
​
Var  age = 18       (有变量可以无需显示声明类型)
​
Gender := 1     (可以用“:=”表示创建变量,但是全局变量不能这么声明)

常量声明用const来代替var的位置:

const  pi = 3.1415

Go只有强制类型转换没有隐式类型转换:

c = int64(d)

Range

go中的 range,可以凭此遍历数组、切片、字符串、map、通道。其中,数组、切片、字符串返回索引和值,map返回键、值, channel只返回值