这是我参与「第五届青训营 」伴学笔记创作活动的第1天。
笔记中涉及语法等区别比较部分均与c++作对比。
一、本堂课重点内容:
- Go语言背景介绍
- Go语言快速入门
- 开发环境
- 基础语法
- 标准库
- 实战
- 猜谜游戏
- 命令行词典
- SOCKS5代理
二、详细知识点介绍:
-
什么是Go语言?
Go语言有以下特征:1、高性能、高并发;2、语法简单;3、丰富的标准库;4、完整的工具链;5、静态链接;6、快速编译;7、跨平台;8、垃圾回收。 -
为什么使用Go?
- 性能好
- c++ 不适合在线Web业务
- 部署简单
- 基础语法-Hello World
package main //程序入口包,表示文件为程序入口文件
//导入format包,格式化输入输出字符串
import (
"fmt"
)
// main函数
func main() {
fmt.Println("hello world")
}
- 基础语法-变量
- 变量声明
- var name (type)= value//自动推导变量类型(显示声明)
- name := value
- 常量: var改为const,无确定类型,根据使用的上下文自动确定类型。
- 基础语法-if else
- if语句无括号,后必须跟大括号。
- 基础语法-循环
- for{} 无限循环
- c++格式 循环
- 支持continue,break
- 基础语法-分支结构
- golang:switch语句可以使用任意变量类型,不需要break语句。
- 可以不加变量,case里写条件分支。
- 基础语法-数组、切片
- make创建切片,切片可以理解为可变数组
- append添加元素,扩容需赋值给变量;copy拷贝
- 类似python的切片操作
- 基础语法-map
- make创建map
- 方括号语法写入kv对
- delete删除kv对
- 加入ok判断元素是否存在
- 基础语法-range
- 相当于c++范围for
- 基础语法-函数
- 变量类型后置
- 返回两个值:第一个值是真正的值,第二个值是错误结果信息。
- 基础语法-指针
- 主要用来修改变量值
- 基础语法-结构体、结构体方法
- 基础语法-错误处理
- 使用函数返回值传递错误信息
- 使用if-else处理错误
- 无error返回nil,存在error返回error.new()
- 基础语法-字符串操作、格式化
- %v打印各种类型的变量,+详细,#进一步详细
- 基础语法-json操作
- 基础语法-时间处理
- time.Now()获取当前时间
- 使用特定的时间格式化
- 基础语法-数字解析
- 基础语法-进程信息
三、课后个人总结:
-
本章有什么知识点不容易掌握?
- 部分知识点不够详细,待补充
- 实践部分作业情况待补充
-
课程收获
- 配置好Go环境,了解了Go基础语法