GO语言基础 | 青训营笔记

514 阅读3分钟

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

今天主要上了两节掘金课。一是走进go语言基础语言,二是go语言的实战案例

主要简单的了解了go语言的基础知识以及相对基础的运用。对于我这种没有接触过go语言的新手来说,还是较为友好的,基础讲解也比较仔细与清晰

一、走进GO语言基础

1.开发环境

Goland

2.集成开发环境

VS code

3.Go的基础语法

  • Go 变量

变量声明一般有两种。第一种是通过 var name string =“” 这种方式来声明变量,声明变量的时候,一般会自动去推导变量的类型。如果有需要也可以显示写出变量类型。另一种声明变量的方式是:使用变量 冒号:= 等于值。常量的话就是把 var 改成const,go语言里面的常量没有确定的类型,会根据使用的上下文来自动确定类型

  • Go if-else

if后面没有括号,有也会去掉,其他使用方法基本与c相似

  • Go switch

不需要break语句跳出switch,执行一次便退出

  • Go for循环

Go里面只有For循环,类似C,退出循环break(直接退出所有循环)continue(执行下一次循环)

  • 数组声明:

var a [长度]类型,例如var a [5]int(有长度限制)

  • 切片

声明:用make([]类型,长度)函数创建,和数组一样使用,用append来追加元素,就是没有长度限制的数组,

  • map:

键值对集合,类似python中的字典,声明make(map[键类型]值类型)

  • range:

用于快速遍历slice或map,返回下标/键 和 值

  • Go 函数

参数类型是后置的

  • Go 指针

主要用途:对于传参进行修改,没有C/C++中作用那麽多那麽复杂

  • Go 结构体

带类型的字段的集合,没什么特别的

  • Go 结构体方法

在声明函数时,把结构体参数加上括号写在函数名之前,如func(u 结构体名)(* u 结构体名) 函数名(其他参数){}

  • Go

strings标准库下有很多字符串操作方法 %v,%+v,%+v,可以不用区分变量类型;%.2f保留小数点后2位

  • Go 错误处理

Go使用一个单独的返回值来传递错误信息

  • Go JSON处理

保证结构体的每个字段首字母大写,就可以用JSON.marshaler进行序列化

二、Go语言的实战案例

三个实战案例主要为

1猜数游戏

2在线词典介绍

3Socks5代理

三、学习感受

在今天的学习中,第一课对于go的基础语法我觉得讲解得十分清晰,但是个人实验三个实战案例时,会出现很多的bug,大多数都不是语法问题 ,而是环境配置问题,上网慢慢搜索错误原因以及解决方法,最后也是成功的实现了三个案例。总而言之,今天的收获还是很多的,让我了解了go语言的基本知识以及亲手打码感受,体验并感受了go语言编程的感觉