一、看视频的笔记记录
二、知识总结
Go 语言:由 Google 开发的一种静态强类型、编译型语言,具有垃圾回收功能,支持并发编程。
编译:Go 语言是编译型语言,代码在运行前需要经过编译。
. 变量和常量
变量:使用 var 关键字声明,支持自动推断类型。
常量:使用 const 关键字声明,编译时确定值。
- 数据类型 基本数据类型:包括整数、浮点数、布尔值、字符串等。 复合数据类型:包括数组、切片、映射、结构体等。
- 流程控制 条件语句:使用 if、else、else if 进行条件判断。 循环语句:使用 for 进行循环,支持多种循环方式。 跳转语句:使用 break、continue、goto 进行流程控制。
- 函数 函数定义:使用 func 关键字定义函数,支持多返回值。 函数参数:支持值传递和引用传递。 函数调用:通过函数名和参数列表调用函数。
- 指针 指针定义:使用 * 操作符获取变量的内存地址。 指针操作:通过指针访问和修改变量的值。
- 结构体 结构体定义:使用 type 关键字定义结构体。 结构体字段:结构体可以包含多个字段,每个字段有自己的类型和名称。 结构体方法:结构体可以有方法,方法与结构体关联。
- 接口 接口定义:使用 interface 关键字定义接口。 接口实现:结构体可以实现接口,只需实现接口中定义的所有方法。 接口调用:通过接口变量调用实现接口的结构体方法。
- 并发编程 goroutine:Go 语言的轻量级线程,使用 go 关键字创建。 channel:用于 goroutine 之间通信,使用 make 关键字创建。 并发安全:使用互斥锁(sync.Mutex)和读写锁(sync.RWMutex)保证并发安全。 栈的应用:通过这个题目,深入理解了栈的基本操作及其在括号匹配中的应用。 Go语言的切片:学习了如何使用切片来模拟栈的功能,掌握了切片的基本操作。 错误处理:在判断括号有效性时,认识到边界条件的重要性,如栈是否为空等。 对于其他入门同学的建议: 多动手实践,理解数据结构的应用场景。 学会分析问题的边界条件,避免常见的逻辑错误。 三、学习计划 结合豆包MarsCode AI的刷题功能,我制定了以下高效学习方法: 制定刷题计划: 每天一道,围绕特定主题(如栈、队列、动态规划等)进行练习。 每道题目完成后,进行总结,记录思路和代码实现。 利用错题进行针对性学习: 将错题整理到一个文档中,分析错误原因,并再次尝试解决。 定期回顾错题,确保理解并掌握相关知识点。
工具运用 将AI刷题功能与其他学习资源相结合,可以达到更好的学习效果:
结合视频教程:在学习新数据结构或算法时,观看相关的视频教程,帮助理解。 参与讨论社区:在豆包MarsCode AI的讨论区与其他学习者交流,分享解题思路和经验。 使用在线编程平台:在完成刷题后,将代码在其他平台上进行测试和优化,增强编程能力。 结语 通过使用豆包MarsCode AI进行Go语言学习,我不仅掌握了基本的编程技巧,还提高了逻辑思维能力。希望我的学习方法和心得能够帮助更多的学习者在Go语言的学习旅程中取得进步!