goexp

module
v0.0.0-...-3bdc982 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2021 License: MIT

README

Go Expedition

An extended Go expedition. A variety of topics, gotchas and examples.

$ git clone github.com/miku/goexp

Repo contains notes and examples.

Overview

Directories

Path Synopsis
Concurrency
Projects command
Projects/LinkChecker/Template command
Program to feed URLs and display status code, runs parallel requests.
Program to feed URLs and display status code, runs parallel requests.
Scratch command
channels/advanced/example1 command
Sample program to show the order of channel communication for unbuffered, buffered and closing channels based on the specification.
Sample program to show the order of channel communication for unbuffered, buffered and closing channels based on the specification.
channels/example1 command
This sample program demonstrates the basic channel mechanics for goroutine signaling.
This sample program demonstrates the basic channel mechanics for goroutine signaling.
channels/example2 command
Sample program to show how to use an unbuffered channel to simulate a game of tennis between two goroutines.
Sample program to show how to use an unbuffered channel to simulate a game of tennis between two goroutines.
channels/example3 command
Sample program to show how to use an unbuffered channel to simulate a relay race between four goroutines.
Sample program to show how to use an unbuffered channel to simulate a relay race between four goroutines.
channels/example4 command
This sample program demonstrates how to use a buffered channel to receive results from other goroutines in a guaranteed way.
This sample program demonstrates how to use a buffered channel to receive results from other goroutines in a guaranteed way.
channels/example5 command
This sample program demonstrates how to use a channel to monitor the amount of time the program is running and terminate the program if it runs too long.
This sample program demonstrates how to use a channel to monitor the amount of time the program is running and terminate the program if it runs too long.
channels/example6 command
Parallel link checker.
Parallel link checker.
channels/exercises/exercise1 command
Write a program where two goroutines pass an integer back and forth ten times.
Write a program where two goroutines pass an integer back and forth ten times.
channels/exercises/exercise2 command
Write a program that uses a fan out pattern to generate 100 random numbers concurrently.
Write a program that uses a fan out pattern to generate 100 random numbers concurrently.
channels/exercises/exercise3 command
Write a program that uses goroutines to generate up to 100 random numbers.
Write a program that uses goroutines to generate up to 100 random numbers.
channels/exercises/exercise4 command
Write a program that creates a fixed set of workers to generate random numbers.
Write a program that creates a fixed set of workers to generate random numbers.
channels/exercises/template1 command
Write a program where two goroutines pass an integer back and forth ten times.
Write a program where two goroutines pass an integer back and forth ten times.
channels/exercises/template2 command
Write a program that uses a fan out pattern to generate 100 random numbers concurrently.
Write a program that uses a fan out pattern to generate 100 random numbers concurrently.
channels/exercises/template3 command
Write a program that uses goroutines to generate up to 100 random numbers.
Write a program that uses goroutines to generate up to 100 random numbers.
channels/exercises/template4 command
Write a program that creates a fixed set of workers to generate random numbers.
Write a program that creates a fixed set of workers to generate random numbers.
context/example2 command
Cancellation example without context.
Cancellation example without context.
csp/example1 command
goroutines/example1 command
Sample program to show how to create goroutines and how the scheduler behaves.
Sample program to show how to create goroutines and how the scheduler behaves.
goroutines/example2 command
Sample program to show how the goroutine scheduler will time slice goroutines on a single thread.
Sample program to show how the goroutine scheduler will time slice goroutines on a single thread.
goroutines/example3 command
Sample program to show how to create goroutines and how the goroutine scheduler behaves with two contexts.
Sample program to show how to create goroutines and how the goroutine scheduler behaves with two contexts.
goroutines/exercises/exercise1 command
Create a program that declares two anonymous functions.
Create a program that declares two anonymous functions.
goroutines/exercises/template1 command
Create a program that declares two anonymous functions.
Create a program that declares two anonymous functions.
select/example1 command
select/example2 command
signal command
timeout command
Database
example1 command
Web capture tool.
Web capture tool.
Language
CustomFlags command
Embedding command
Identity/Basic command
MapTypes/Set command
NilInterface command
go run main.go
go run main.go
RandomImage command
Scratch command
Slices/SliceCut command
Switch/Empty command
TabularData/Decoder command
Package csv implements a decoder, that supports CSV decoding.
Package csv implements a decoder, that supports CSV decoding.
Lifecycle
FromScratch command
Patterns
AggregateError command
https://github.com/kubernetes/apimachinery/blob/06deae5c9c2c030d771a467e086b6c791e8800dc/pkg/util/errors/errors.go#L231-L246
https://github.com/kubernetes/apimachinery/blob/06deae5c9c2c030d771a467e086b6c791e8800dc/pkg/util/errors/errors.go#L231-L246
ChannelLenCap command
Context/example2 command
Cancellation example without context.
Cancellation example without context.
Defer command
GoEmbed command
Infinite command
Rot13 command
Services
00-server command
05-two-handlers command
07-methods command
08-post command
10-mux command
11-gorilla-mux command
HttpTest/Server command
Todo command
final command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL