Skip to content

kigichang/go-notebook

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go 第二版筆記

Go Go 已經 15 歲了,由於先前的筆記累積了很多歷史的進程,再加上近幾年工作關係,對 Go 的體驗有新的想法。因此重新整理筆記,移除過時汰除的內容,並且新增近幾年新的經驗。

新的筆記會由目前 1.23 版本開始,會與之前的版本有所不同;因此建議一同升版至 1.23 版本。如果想了解之前 Go 功能的變化,可以參考先前的筆記

資源

開發環境

  • Go: 1.23.3
  • Apple M1 Pro
  • 開發工具: VSCode

筆記內容

Go 基礎

  1. *Hello World
    • IDE 環境
    • Go 專案管理
    • Hello World
    • 跨平台編譯
    • Go 語言特性與 Rust, Scala 比較
  2. 資料型別與流程控制
    • Primitive Type and Zero Value
    • Control Flow
    • Function
  3. 進階資料型別與介面
    • Array and Slice
    • String and Rune
    • Map
    • Type, Alias and Enum
    • Struct and Method
  4. Pointer and Interface
    • Struct and Pointer
    • Call by Value in Fuction and Method
    • Interface
    • Type Assertion
    • Type Switch
  5. Package and OOP
    • Package and Encapsulation
    • Anonymous Field
    • Fake Inheritance
  6. Defer and Error Handling
    • Error
    • Panic and Recover
    • Defer
  7. Testing
    • Test
    • Benchmark
    • Example

Go Concurrency

  1. Goroutine, WaitGroup and Mutex
  2. Channel and Select
  3. Context

Go 應用

  1. JSON and Struct Tag
  2. Command Line Tool: Cobra
  3. Configuration: Viper and TOML
  4. Database and MySQL
  5. Text/Hmtl Template
  6. Embed
  7. Gorilla Web Tookit and WebSocket
  8. Echo Web Framework
  9. RESTful Service with Echo
  10. GoCron
  11. GRPC

Go 進階

  1. Build Constraints
  2. Generic
  3. Reflection
  4. CGO
  5. WebAssembly (不建議使用)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages