第一节 Go语言基础 | 青训营笔记

242 阅读4分钟

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

本次青训营我参加的是后端方向,课程主要涉及的开发语言是Go,其课程路线安排如下: image.png

1.什么是Go语言?

Go语言是谷歌出品的一门通用型计算机语言,且具有如图以下的特点:

image.png

Go语言的学习路线平滑,且上手容易,目前有较多的互联网大厂在使用Go语言和优化微服务,具体的使用Go语言的公司有以下几个:

image.png Go语言在国外的一些公司也有广泛的应用,比较出名的代表是FaceBook,且在大数据,云服务方面,有较多的组件应用,占有较大的市场占比。

2.Go开发环境的安装

可以直接通过访问 go.dev/ ,点击 Download ,下载对应平台安装包,安装即可。

如果打开速度较慢可以打开Go语言中文官方下载地址:studygolang.com/dl,选择自己需要的版本进行下载安装,我选择的是windows go1.19.5.windows-amd64.msi

image.png 安装完成后,通过打开本地电脑的控制台,输入go version如果能输出对应的安装版本,则为配置成功。

3.配置Go开发环境的编辑器

有我们较为熟知的VsCode和GoLand两款编辑器供大家挑选使用,我个人直接选择了已经下载好的VsCode,使用VsCode只需要打开,在左侧的拓展商店中搜索Go的插件安装即可使用。

image.png 如果拥有GitHub账号的话,也可以授权GitLab,通过String Gitpod来在线运行一些Go的项目实例,如下图所示:

image.png 也可以在克隆示例项目后在本地打开项目目录,选中目录输入cmd调出控制台输入go run example/01-hello/main.go 指令来查看输出结果。

具体的克隆方法可以参考这一文章 如何在GitHub上克隆项目(超详细的图文并解)_github克隆项目_齐天大圣_DS的博客-CSDN博客

4.Go的入门基础语法

Go的语法简洁,清晰,我们下面来看具体的基础语法。

  • 变量:go语言是一门强类型语言,常见的变量类型包括整型,字符串,浮点型,布尔类型等。其声明方式主要有两种:

      Var 变量名 = 值
      变量名 := 值
    

具体的类型如下图代码所示:

image.png

  • if-else语句:写法与C++类似,但不同点是go中if语句的判断条件并没有(),其语法格式为:

      if 判断语句 {
      
      }
    
  • 循环语句:go中没有while循环和do while循环,只有唯一的for循环,且同样不需要(),语法格式为:

      for 循环条件{
      
      }
    
  • switch分支语句:同样与上面的类似,switch后的循环名不需要(),且go中,switch是默认不需要加break的,达到循环名条件时会自动结束循环,不会跑其他的分支,go中的switch更加强大,可以使用任意的变量类型。 具体的案例如下:

image.png

  • 数组:是一个具有编号,且长度固定的元素序列。

  • 切片:切片不同于数组,是一个长度可变的特殊数组,可以任意改变其长度,也可以有其他更丰富的操作,其语法格式为:

     数组名 := make([]string, 数组长度)
     数组名[0] = "a"
    

可以在中途使用append直接增加长度和新的数组元素:

    数组名 = append(数组名,"b")

可以直接用copy直接复制另一个数组的值:

    copy(数组1,数组2)
    这样数组1就会直接复制数组2的元素
  • map:go中的map是完全无序的,遍历的时候不会按照字母顺序,也不会按照插入顺序输出,其创建的语法格式为:

     map名 := makemap[key的类型]值的类型)
    
  • range:对应map我们可以使用range快速遍历,使代码更加简洁。

其他基础语法因为时间问题暂时没有记录,具体的实战案例和补充会再后面的笔记中带给大家。

课后总结

今天是第一天的课程内容,主要的课程时长还算较为短暂,但是因为没有go语言的基础,在切片,指针,时间戳方面和实战案例有一些难懂,希望后面自己可以用更好的状态去进行课程学习。