Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

411 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go_Practise

这是我的 Go 语言学习历程和实践项目集合。本仓库包含了从基础语法到高级特性的系统化学习代码示例。

📚 学习内容

基础语法

  • practise01-05: 基础语法、变量、数据类型、包管理
  • practise06: 数据类型详解(整数、浮点数、布尔、字符串、字节、类型转换)
  • practise07: 运算符(算术、关系、逻辑、赋值、位运算)
  • practise08: 流程控制(if、for、switch、break、continue、goto)

数据结构

  • practise09: 数组(一维数组、二维数组、数组类型)
  • practise10: 切片(声明、初始化、make、编辑、追加、复制、删除、字符串切片)
  • practise11: 排序算法(选择排序、冒泡排序、sort 包)
  • practise12: Map(声明、遍历、CRUD、切片与 Map、Map 排序)

函数与时间

  • practise13: 函数(函数定义、参数、返回值、可变参数、闭包、递归等)
  • practise14: 时间处理(time 包的各种用法)

指针与结构体

  • practise15: 指针(指针基础、指针运算)
  • practise16: 结构体(类型定义、结构体声明、方法、类型方法、结构体扩展)
  • practise17: JSON 处理(Marshal、Unmarshal、结构体标签)

包管理

  • practise18_pacakge: 包管理基础
  • practise19_package: 包管理进阶(模块化开发)

面向对象

  • practise20: 接口(接口定义、实现、多态、空接口等)

并发编程

  • practise21: Goroutine 和 Channel(协程、通道、单向通道、select、锁、Mutex、RWMutex)

反射

  • practise22: 反射(类型反射、值反射、结构体反射)

文件操作

  • practise23: 文件 I/O(文件读写、复制、重命名、目录操作)

高级特性

  • practise24-25: 高级特性实践
  • practise26_go_generic_practise: Go 泛型(Go 1.18+ 泛型特性)

🚀 快速开始

运行单个示例

# 进入对应的练习目录
cd practise01

# 运行程序
go run main.go

运行带模块的示例

# 进入模块目录
cd practise05

# 运行程序
go run main.go

📖 学习路径

  1. 基础阶段 (practise01-08): 掌握 Go 语言基础语法和流程控制
  2. 数据结构阶段 (practise09-12): 学习数组、切片、Map 等数据结构
  3. 函数与时间 (practise13-14): 深入理解函数和时间处理
  4. 面向对象阶段 (practise15-20): 学习指针、结构体、接口
  5. 并发编程 (practise21): 掌握 Goroutine 和 Channel
  6. 高级特性 (practise22-26): 反射、文件操作、泛型等

📝 说明

  • 每个目录都包含独立的示例代码
  • 代码中包含详细的中文注释,便于理解
  • 所有代码都经过实际运行验证
  • 适合 Go 语言初学者系统化学习

🔗 相关资源

📄 License

本项目仅用于学习目的。


学习是一个持续的过程,代码是最好的笔记。 💪

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages