Golang 101

Golang 簡介

Go 安裝及環境設定

Go 入門(Tutorial)

3. Program Structure

4. 資料型態

  • Point 指標與數值
  • context
  • 函數 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

    8.1 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

    9. 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 介面

    資料庫介紹

    • MySQL DML 介紹及操作範例
      8.1 We will be using PostgreSQL
      8.1.1 SQL is popular
      8.1.2 Usability and scalability
      8.1.3 SQL is well supported in Go
      8.2 Installing PostgreSQL
      8.2.1 Installing PostgreSQL with Mac OS X
      8.2.2 Installing PostgreSQL with Windows
      8.2.3 Installing PostgreSQL with Linux
      8.3 Using PostgreSQL with Go
      8.4 Using gorm

    建立資料模型

    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
    9.5 Exercises

    測試 Testing

    Low-Level Programming

    13.1 unsafe.Sizeof, Alignof, and Offsetof
    13.2 unsafe.Pointer
    13.3 Example: Deep Equivalence
    13.4 Calling C Code with cgo
    13.5 Another Word of Caution

    網際網路應用程式

    Client 端

    建立 web server 端程式

    常見的 routers

    server 訊息輸出方式

    樣板介紹

    4.1 What are templates?
    4.2 Why do we use templates?
    4.3 Templates in Go
    4.4 Creating a template
    4.5 Contextual encoding
    4.6 Exercises
    * HTTP Tracing
    * httpstat:requires Go 1.7.1 or later
    * Text and HTML Templates
    * Understanding MVC
    - Model-View-Controller (MVC)
    - Walking through a web request

    Creating our first views

    6.1 The home template
    6.2 The contact template
    6.3 Creating a reusable Bootstrap layout
    6.3.1 Named and nested templates
    6.3.2 Creating a view type
    6.3.3 Creating the Bootstrap layout
    6.4 Adding a navigation bar
    6.5 Cleaning up our code
    6.5.1 What is globbing?
    6.5.2 Using filepath.Glob
    6.5.3 Simplifying view rendering
    6.5.4 Moving our footer to the layout

    RESTful API

    Google Golang gRPC 介紹

    Creating a sign up page

    7.1 Add a sign up page with a form
    7.1.1 Creating a Bootstrap sign up form
    7.1.2 Wrapping our form in a panel
    7.1.3 Adding the sign up view to main.go
    7.1.4 Adding the sign up link to our navbar
    7.2 An intro to REST
    7.2.1 How REST affects our code
    7.3 Creating our first controller
    7.4 Processing the sign up form
    7.5 Cleaning up and creating a static controller
    7.6 Exercises

    認證機制

    10.1 Why not use another package or service?
    10.2 Creating users and securely storing passwords
    10.2.1 Hashing passwords
    10.2.2 Update the users model
    10.2.3 Update the users controller
    10.3 Handling logins & authentication
    10.3.1 Creating a login page + sessions controllers
    10.3.2 Authentication needs to be time constant
    10.4 Exercises
    * JWT Authentication

    11. Sessions and limiting user access

    12.Closures, contexts, and middleware

    13. Emails for password reset and account activation

    14. Creating the gallery resource

    15. Uploading and creating images

    16. 網路應用

    17. 程式佈署(Deploying)

    系統監控

    套件

    18. 機器人(Bot)

    其他工具

    範例

    Data Science

    學習網站推薦

    其他

    線上學習書籍