Golang Programming (Golang程式設計)

  1. Time: Monday 14:10-17:00
  2. Classroom: TC-301
  3. Objective: Go, also known as Golang, is the concise and efficient programming language designed by Google for creating high-performance, cross-platform applications. Go combines strong static types with simple syntax and a comprehensive standard library to increase programmer productivity, while still supporting features such as concurrent/parallel programming. This course explains how to get the most from Golang, starting from the basics and building up to the most advanced and sophisticated features. You will learn how Golang builds on a simple and consistent type system to create a comprehensive and productive development experience that produces fast and robust applications that run across platforms.
  4. Students: 0
  5. Software:
    1. FortiClient VPN for Windows 10
    2. PuTTY 0.78
  6. Textbook:
  7. References:
  8. Grading criteria

Syllabus

  1. Variables and Operations, Data Types and Conversions
    Flow Control
    Arrays, Slices, and Maps
  2. Functions
    Defining Structs, Methods, and Interfaces
    Packages
  3. Type and Interface Composition.
  4. Goroutine and Channels
    Error Handling

    Using the Go Standard Library

  5. String Processing and Regular Expression
    Formatting and Scanning Strings
  6. Math Functions and Data Sorting
    Dates, Times, and Durations
  7. Reading and Writing Data
    Working with JSON Data
    Working with Files
  8. Using HTML and Text Templates
  9. Creating HTTP Servers/Clients
  10. Working with Databases
  11. Using Reflection
  12. Unit Testing, Benchmarking, and Logging

    Applying Go

  13. Creating a Web Platform
  14. Middleware, Templates, and Handlers
  15. Actions, Sessions, and Authorization
  16. Term Project Presentation

Slides