这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
一、本堂课重点内容:
此课程主要介绍关于 Go 语言的介绍,全程主要是概念与数据,偏向科普化。老师介绍了 Go 这门语言的特点和优点,以及一些实例代码。
二、详细知识点介绍:
背景介绍
Go 语言的特点
- 高性能
- 语法简单
- 丰富的标准库(不需要借助第三方库,稳定)
- 完善的工具链
- 静态链接
- 快速编译
- 跨平台(各系统通吃,树莓派也行)
- 垃圾回收(和 Java 类似,只需要专注项目逻辑)
PS: 字节已经全面拥抱 Go 语言
开发环境
安装 Golang 或者区 GitHub 线上编码
基础语法
先打印一个 Hello World 试试
package main
import {
"fmt"
}
func main() {
fmt.Println("hello world")
}
fmt :导入的标准库中的包,该包用于输入输出字符串格式化字符串
如何运行
go run
go build 二进制
./main
变量类型
变量的声明: var 自动推导变量类型,也可自己定义
常量的声明: 前面 把 var 改为 const ,但常量没有确定的类型,因为他会根据使用的上下文来自动确定类型
if else
if 的后面没有圆括号框条件
if 的后面必须直接跟大括号
循环
只有 for 循环
switch
没有 break 也不会掉下去,和 c 不一样
数组 切片
切片是任意长度的数组
map
Golang 里的 map 是完全无序的,遍历的时候是随机的
range
用于快速遍历,返回两个值:一个是索引,一个是value
函数
可以返回两个值,一个是真实值,另一个可以返回 ok表示状态
指针
和 c 差不多
结构体
也和 c 大同小异
结构体方法
类似 类函数,用于抽象逻辑,实现解耦
错误处理
用一个单独的返回值来表示错误
字符串操作
可以查看类库
三、课后个人总结:
本章学到了 Go 的基础语法,感觉各个语言都是互通的啊。