go语言学习 | 青训营笔记

51 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的的第1天

本节课涉及的知识点如下

go语言简介

1 go语言的特点

go语言是一种高性能、高并发的语言,它语法简单、学习周期短,拥有丰富的标准库和完整的工具链保证完成,有静态链接的特点,能够快速编译,拥有静态语言中几乎最快的编译速度,可以跨平台,可以在很多操作系统上运行,可以交叉编译,并且带垃圾回收。

2 字节跳动为什么全面拥抱go语言

1.最初使用Python,由于性能问题换成go

2.C++不太适合在线Web业务

3.早期团队非Java背景

4.性能比较好

5.部署简单、学习成本低

6.内部RPC和HTTP框架的推广

go语言语法学习

1 开发环境

go的开发环境主要可以选择vscode或golang,用GitHub在线开发也可以。

2 基础语法

1.hello world

   package main
   
   import "fmt"//导入format包,用于格式化输出
​
   func main(){
       fmt.Println("hello world")//输出hello world
   }

2.变量

go语言中的数据类型有布尔类型和数字类型,数字类型中有整数、浮点数等(没有double类型),

定义变量:

s := 1
var s int =1

第一行是短变量声明,第二行是常规格式。

注意与其他语言有些区别的部分是变量类型写在变量名称后面。

3.if else

和c或c++写法很相似。不同点如下:

if后面的判断条件不需要加括号,if后面只能接大括号,if和else都只能和前大括号在同一行。

4.for

go语言没有while和do while,只有for循环。也可以用for range。

5.switch

go语言switch语句没有break,多个条件之间用逗号隔开。

6.数组和切片

数组与其他语言定义相同。切片是可变长度的数组,有更多丰富的操作。

可以用make创建切片。

7.map

字典,可以用make创建空map。

8.指针

与其他语言的区别是不能偏移和运算。

9.结构体

带类型的字段的结合。

type person struct{
    age int
    name string
}

上面定义一个person结构体,其中包含int类型的age和string类型的name。