Go 语言基础及实战 | 青训营笔记

78 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第1天。
笔记中涉及语法等区别比较部分均与c++作对比。
一、本堂课重点内容:

  • Go语言背景介绍
  • Go语言快速入门
    • 开发环境
    • 基础语法
    • 标准库
  • 实战
    • 猜谜游戏
    • 命令行词典
    • SOCKS5代理

二、详细知识点介绍:

  1. 什么是Go语言?
    Go语言有以下特征:1、高性能、高并发;2、语法简单;3、丰富的标准库;4、完整的工具链;5、静态链接;6、快速编译;7、跨平台;8、垃圾回收。

  2. 为什么使用Go?

  • 性能好
  • c++ 不适合在线Web业务
  • 部署简单
  1. 基础语法-Hello World
package main //程序入口包,表示文件为程序入口文件
//导入format包,格式化输入输出字符串
import (
   "fmt"
)
// main函数
func main() {
   fmt.Println("hello world")
}
  1. 基础语法-变量
  • 变量声明
    • var name (type)= value//自动推导变量类型(显示声明)
    • name := value
  • 常量: var改为const,无确定类型,根据使用的上下文自动确定类型。
  1. 基础语法-if else
  • if语句无括号,后必须跟大括号。
  1. 基础语法-循环
  • for{} 无限循环
  • c++格式 循环
  • 支持continue,break
  1. 基础语法-分支结构
  • golang:switch语句可以使用任意变量类型,不需要break语句。
  • 可以不加变量,case里写条件分支。
  1. 基础语法-数组、切片
  • make创建切片,切片可以理解为可变数组
  • append添加元素,扩容需赋值给变量;copy拷贝
  • 类似python的切片操作
  1. 基础语法-map
  • make创建map
  • 方括号语法写入kv对
  • delete删除kv对
  • 加入ok判断元素是否存在
  1. 基础语法-range
  • 相当于c++范围for
  1. 基础语法-函数
  • 变量类型后置
  • 返回两个值:第一个值是真正的值,第二个值是错误结果信息。
  1. 基础语法-指针
  • 主要用来修改变量值
  1. 基础语法-结构体、结构体方法
  2. 基础语法-错误处理
  • 使用函数返回值传递错误信息
  • 使用if-else处理错误
  • 无error返回nil,存在error返回error.new()
  1. 基础语法-字符串操作、格式化
  • %v打印各种类型的变量,+详细,#进一步详细
  1. 基础语法-json操作
  2. 基础语法-时间处理
  • time.Now()获取当前时间
  • 使用特定的时间格式化
  1. 基础语法-数字解析
  2. 基础语法-进程信息

三、课后个人总结:

  • 本章有什么知识点不容易掌握?

    • 部分知识点不够详细,待补充
    • 实践部分作业情况待补充
  • 课程收获

    • 配置好Go环境,了解了Go基础语法