Golang 101

Golang 簡介

Go安裝及環境設定

Go 入門(Tutorial)

變數

函數 Functions

命令列

Methods

6.1 Method Declarations
6.2 Methods with a Pointer Receiver
6.3 Composing Types by Struct Embedding
6.4 Method Values and Expressions
6.5 Example: Bit Vector Type
6.6 Encapsulation

Goroutines and Channels

  • Goroutines 介紹
    8.2 Example: Concurrent Clock Server
    8.3 Example: Concurrent Echo Server
  • Channels 介紹
    8.5 Looping in Parallel
    8.6 Example: Concurrent Web Crawler
    8.7 Multiplexing with select
    8.8 Example: Concurrent Directory Traversal
    8.9 Cancellation
    8.10 Example: Chat Server

Concurrency with Shared Variables

9.1 Race Conditions
9.2 Mutual Exclusion: sync.Mutex
9.3 Read/Write Mutexes: sync.RWMutex
9.4 Memory Synchronization
9.5 Lazy Initialization: sync.Once
9.6 The Race Detector
9.7 Example: Concurrent Non-Blocking Cache
9.8 Goroutines and Threads

檔案處理

GUI 介面

資料庫介紹

建立資料模型

9.1 Defining a User
9.2 Creating the UsersDB interface
9.3 Implementing UsersDB
9.3.1 The Create() method
9.3.2 The Update() method
9.3.3 The Delete() method
9.3.4 The ByID() method
9.3.5 The ByEmail() method
9.4 Instantiating and using a UsersDB

測試 Testing

Low-Level Programming

  • unsafe.Sizeof, Alignof, and Offsetof
  • unsafe.Pointer
  • Example: Deep Equivalence
  • Calling C Code with cgo
  • Another Word of Caution

網際網路應用程式

Client 端

各式通訊協定應用

建立 web server 端程式

常見的 routers

server 訊息輸出方式

Middleware 介紹

Go 樣板介紹

RESTful API

GraphicQL

Google Golang gRPC 介紹

認證機制

11. Sessions and limiting user access

12.Closures, contexts, and middleware

加解密

Emails for password reset and account activation

上傳及建立影像

網路應用

行事曆

Email

其他

程式佈署(Deploying)

系統監控

相關套件

機器人(Bot)

其他工具

範例

資料探勘 Data Science

常用函數

學習資源

其他

相關資源