Golang learning materials [Basic]

Source: Internet
Author: User
Tags stack trace
This is a creation in Article, where the information may have evolved or changed.

Basic syntax

The bible of the Go language

  • Chapter One: Getting Started
    • Helloworld
    • Command-line arguments
    • To find duplicate rows
    • GIF animations
    • Get URL
    • Get multiple URLs concurrently
    • Web Services
  • Chapter II: Program Structure
    • Named
    • Statement
    • Variable
    • Assign value
    • Type
    • Packages and files
    • Scope
  • Chapter Three: Basic data types
    • Integer
    • Floating point number
    • Plural
    • Boolean type
    • String
    • Constant
  • Fourth: Composite data types
    • Array
    • Slice (sliced)
    • Map
    • Structural body
    • Json
    • Text and HTML
  • Fifth chapter: Functions
    • function declaration
    • Recursive
    • Multiple return values
    • Error
    • function value
    • anonymous functions
    • Variable parameters
    • Deferred function
    • Panic exception
    • Recover catching exceptions
  • Sixth Chapter: Methods
    • Method declaration
    • A method based on a pointer object
    • To extend a type by embedding a structure
    • Method values and Method expressions
    • Example: Bit array
    • Packaging
  • Seventh Chapter: interface
    • Interface conventions
    • Interface type
    • Conditions for implementing an interface
    • Flaq. Value interface
    • Interface value
    • Sort.interface interface
    • http. Handler interface
    • Error interface
    • Example: evaluation of an expression
    • Type assertion
    • Distinguish error types based on type assertion
    • Asking for behavior by type assertion
    • Type switch
    • Example: Tag-based XML decoding
  • Eighth chapter: Goroutines and Channels
    • Goroutines
    • Example: Concurrent Clock Service
    • Example: Example: concurrent echo Service
    • Channels
    • Concurrent Loops
    • Example: a concurrent web crawler
    • Multiple multiplexing based on select
    • Example: Concurrent dictionary traversal
    • Concurrent exit
    • Example: Chat Service
  • The Nineth chapter: concurrency based on shared variables
    • Competitive conditions
    • Sync. Mutex Mutex
    • Sync. Rwmutex Read/write lock
    • Memory synchronization
    • Sync. Once initialization
    • Competitive condition Detection
    • Example: Concurrent, non-blocking cache
    • Goroutines and threading
  • Chapter Tenth: Packages and tools
    • Package Introduction
    • Import path
    • Package Declaration
    • Import claims
    • Anonymous import of Packages
    • Package and naming
    • Tools
  • The Tenth chapter: testing
    • Go test
    • Test function
    • Test coverage
    • Benchmark Test
    • Analysis
    • Example functions
  • 12th Chapter: Reflection
    • Why reflection is needed
    • Reflect. Type and Reflect.value
    • Display recursive printing
    • Example: encoding S-expression
    • Through reflect. Value Modify values
    • Get struct Field ID
    • Show a type of method set
    • Some advice
  • 13th: Bottom-level programming
    • Unsafe. Sizeof, Alignof and Offsetof
    • Unsafe. Pointer
    • Example: depth equality judgment
    • Calling C code through CGO
    • Some advice

Network programming

"Nettwork Programming"

  • System structure
    • Protocol Layer
    • Internet
    • Gateway
    • Data package
    • Connection model
    • Communication model
    • Distributed communication model
    • C/S system
    • C/S Application
    • Distributed service-side
    • Traffic flow
    • Distributed components
    • Middleware model
    • Durable processing
    • Failed node
    • Acceptance factors
    • Transparency
    • Eight misunderstandings of distributed computing
  • Go language overview
    • Type
    • Multithreading
    • Package
    • Type conversions
    • Statement
    • Gopath
    • Run Go Program
    • Standard library
    • Error value
  • Chapter Three: Socket level programming
    • TCP/IP stack
    • Internet address
    • IP Address Type
    • Service
    • TCP sockets
    • Controlling TCP connections
    • UDP datagram
    • Services to monitor multiple sockets
    • Conn, Packetconn, and listener types
    • Original socket and Ipconn type
  • Fourth chapter: Data serialization
    • Structured data
    • Mutual agreement
    • Self-describing data
    • Asn.1
    • Json
    • Gob bag
    • Encode binary data into a string
    • Protocol buffers
  • Fifth Chapter: Application level Agreements
    • Protocol Design
    • Why should you be worried?
    • Version control
    • Message format
    • Data format
    • A simple example
    • Status information
  • Sixth chapter: Managing character sets and encodings
    • Defined
    • Ascii
    • ISO 8859
    • Unicode
    • Utf-8,go, and runes.
    • UTF-16 and go
    • Unicode Cotchas
    • ISO 8859 and Go
    • Other character sets and go
  • Seventh chapter: Security
    • ISO Safety System
    • Data integrity
    • Symmetric key Encryption
    • Public Key Cryptography
    • Verification
  • Eighth chapter: HTTP
    • URLs and Resources
    • Simple User Agent
    • Configuring HTTP Requests
    • Client Object
    • Agent processing (proxy)
    • HTTPS connection via Client
    • Server
    • HTTPS
  • Nineth Chapter: Template
    • Inserting object values
    • Pipeline
    • Defining functions
    • Variable
    • Conditional statements
    • Html/template Bag
  • The tenth chapter: a complete Web server
    • Flowchart for browsing the site
    • Browse files
    • Base server
    • Listflashcards function
    • Manageflashcards function
    • Chinese dictionary
    • Flashcards Collection
    • Resolving tones
    • Listwords function
    • Showflashcards function
    • The display on the browser
    • Run this server
  • 11th Chapter: HTML
    • Html/template Pack for Go language
    • Tokenizing HTML
    • Xhtml/html
    • Json
  • 12th Chapter: XML
    • Parsing xml
    • Unmarshalling XML
    • Marshalling XML
    • Xhtml
    • Html
  • The 13th chapter:
  • Remote Process Call
    • Go-language RPC
    • Json
  • 14th Chapter: REST
    • URIs and Resources
    • Performance
    • REST verbs
    • No status
    • Hypermedia (HATEOAS) applying the state engine
    • Link representation
    • Transactions with REST
    • The Richardson maturity Model
    • Flashcards Revisited
    • The Demultiplexer (Demuxer)
    • Content negotiation
    • Handling Other URLs
    • The Complete Server
    • Client
    • Using rest or RPC
  • The 15th chapter: WebSocket
    • WebSocket Server
    • The Go sub-repository Package
    • The Gorilla Package

Language skills

"Go in Practice"

  • The first part: basic
    • Chapter One: Going into go
      • What is Go
      • Notable places to go
        • Multiple return values
        • Modern Standard library
        • Concurrency with Goroutines and channels
        • Go tool chain: More than just a programming language
      • Go in many languages
        • C and Go
        • Java and go
        • Python, PHP, and go
        • Javascript, node. js, and go
      • Start running Go
      • Hello, Go
    • Chapter II: Fundamentals
      • Command-line Programs
      • Processing configuration
      • Real-world Web services
    • Chapter III: The Concurrency in Go
      • Understanding the concurrency model of Go
      • Using Goroutines
      • Using channels
  • The second part: Colorful application
    • Fourth: Handling Error and panic
      • Error handling
      • Panic System
    • Fifth chapter: Commissioning and Testing
      • Locating bugs
      • Log
      • Access stack trace (stack trace)
      • Test
      • Performance testing
  • Part III: Application interfaces
    • Sixth chapter: HTML and email templates
      • HTML templates
      • Use templates for email
    • Chapter Seventh: Services and receiving resources and forms
      • Provide static content services
      • Process form Requests
    • Eighth chapter: Web Services
      • REST APIs
      • Passing and handling HTTP error
      • Parsing and Mapping JSON
      • API version Control
  • Part IV: Application Cloud Deployment
    • Nineth Chapter: Using Cloud Services
      • What's a cloud?
      • Manage Cloud services
      • Run your program on a cloud server
    • Tenth chapter: Communication between Cloud services
      • Micro-service and highly available
      • Inter-service communication
    • 11th Chapter: Reflection and Code generation
      • Three characteristics of a reflection
      • Structs, tags, and annotations
      • Generate go code with GO code

Web programming

"Go Web Programming"

  • Part I: Go languages and Web Apps
    • Chapter I: Go language and Web Apps
      • developing Web Apps with Go
      • web App How it works
      • http Introduction
      • the advent of Web Apps
      • HTTP requests (Request)
      • HTTP Responses (response)
      • URIs
      • HTTP/2 Introduction
      • part of a web ' app
      • Hello, Go
    • Chapter Two: Go implementation chitchat
      • let's talk.
      • app design
      • data Model
      • receive and process requests
      • generate HT from templates ML response
      • install PostgreSQL
      • Database Interface
      • start server
      • combo wrap up
  • Part Two: Basic Web Application
    • Chapter III: Handling Request
      • Go net/http library
      • Go service
      • handlers and handler functions
      • use HTTP/2
    • Chapter Fourth: Processing request
      • request and response
      • HTML form and go
      • responsewriter
      • Cookies
    • Fifth: Presentation content
      • templates and template engine
      • Go language template engine
      • Action
      • parameters, variables, and pipelines
      • function
      • Contextual Semantics
      • Nested Templates
      • use block actions to define templates
    • Sixth: Storing data
      • memory storage
      • File Store
      • go and SQL
      • go and SQL Relationships
      • Go relationship mapper
  • Part III: The real World
    • Seventh chapter: Go Web Services
      • Introduction to Web Services
      • SOAP-based Web services
      • Rest-based Web services
      • Using go to parse and create XML
      • Use go to parse and create JSON
      • Create a Go Web service
    • Eighth: Test Your application
      • Go and test
      • Go Unit Test
      • Go HTTP Test
      • Test repeat and Dependency injection
      • Third-party Go test library
    • The Nineth chapter: Using Go concurrency
      • Concurrency is not parallel
      • Goroutines
      • Channels
      • Using Concurrency in Web applications
    • Tenth: Deploy the Go app
      • Deploy to Server
      • Deploy to Heroku
      • Deploy to Google APP Engine
      • Deploy to Docker
      • Comparison of different deployment methods

Select: Distributed System

MIT Distributed Systems Course

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.