Directories
¶
Path | Synopsis |
---|---|
go
|
|
algorithms/data/hash
Package hash implements a hash table.
|
Package hash implements a hash table. |
algorithms/data/list
Package list implements of a doubly link list in Go.
|
Package list implements of a doubly link list in Go. |
algorithms/data/queue
Package queue implements of a circular queue.
|
Package queue implements of a circular queue. |
algorithms/data/stack
Package stack asks the student to implement a stack in Go.
|
Package stack asks the student to implement a stack in Go. |
algorithms/data/tree/binary
Package binary is an implementation of a balanced binary tree.
|
Package binary is an implementation of a balanced binary tree. |
algorithms/fun/barber
Program creates customers for the simulation of the sleeping barber problem implemented in the shop package.
|
Program creates customers for the simulation of the sleeping barber problem implemented in the shop package. |
algorithms/fun/barber/shop
Package shop implements the sleeping barber problem.
|
Package shop implements the sleeping barber problem. |
algorithms/fun/freq
Package freq provides support for find the frequency in which a rune is found in a collection of text documents.
|
Package freq provides support for find the frequency in which a rune is found in a collection of text documents. |
algorithms/fun/pubsub
This is a simple example put together to help a friend with the idea of not over-engineering a pubsub pattern.
|
This is a simple example put together to help a friend with the idea of not over-engineering a pubsub pattern. |
algorithms/fun/vlq
Package vlq implements VLQ encoding/decoding.
|
Package vlq implements VLQ encoding/decoding. |
algorithms/searches/binarysearch
Package binarysearch provides an example of a binary search implementation.
|
Package binarysearch provides an example of a binary search implementation. |
algorithms/searches/interpolationsearch
Package interpolationsearch provides an example of an interpolation search implementation.
|
Package interpolationsearch provides an example of an interpolation search implementation. |
algorithms/searches/jumpsearch
Package jumpsearch provides an example of a jump search implementation.
|
Package jumpsearch provides an example of a jump search implementation. |
algorithms/searches/linearsearch
Package linearsearch provides an example of a linear search implementation.
|
Package linearsearch provides an example of a linear search implementation. |
algorithms/simulations/birthday
Package main simulate the "Birthday problem".
|
Package main simulate the "Birthday problem". |
algorithms/simulations/catan
Package main simulate two-sice rolls.
|
Package main simulate two-sice rolls. |
algorithms/simulations/monty
Simulation of "Monty Hall problem" https://en.wikipedia.org/wiki/Monty_Hall_problem
|
Simulation of "Monty Hall problem" https://en.wikipedia.org/wiki/Monty_Hall_problem |
algorithms/simulations/pi
Calculate the value of π using simulation.
|
Calculate the value of π using simulation. |
algorithms/simulations/sick
Package main simulate precision of a medical test.
|
Package main simulate precision of a medical test. |
algorithms/sorting/bubble
Implementation of Bubble sort in Go.
|
Implementation of Bubble sort in Go. |
algorithms/sorting/heap
Package heap implement the heapsort algorithm in Go.
|
Package heap implement the heapsort algorithm in Go. |
algorithms/sorting/insertion
Package insertionsort implement of Insertion Sort algorithm in Go.
|
Package insertionsort implement of Insertion Sort algorithm in Go. |
algorithms/sorting/quick
Package quicksort implementation of Quick sort algorithm in Go.
|
Package quicksort implementation of Quick sort algorithm in Go. |
algorithms/sorting/selection
Package selectionsort implement of Selection Sort algorithm in Go.
|
Package selectionsort implement of Selection Sort algorithm in Go. |
concurrency/channels/advanced/example1
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. |
concurrency/channels/example1
This sample program demonstrates the basic channel mechanics for goroutine signaling.
|
This sample program demonstrates the basic channel mechanics for goroutine signaling. |
concurrency/channels/example2
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. |
concurrency/channels/example3
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. |
concurrency/channels/example4
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. |
concurrency/channels/example5
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. |
concurrency/channels/exercises/exercise1
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. |
concurrency/channels/exercises/exercise2
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. |
concurrency/channels/exercises/exercise3
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. |
concurrency/channels/exercises/exercise4
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. |
concurrency/channels/exercises/template1
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. |
concurrency/channels/exercises/template2
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. |
concurrency/channels/exercises/template3
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. |
concurrency/channels/exercises/template4
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. |
concurrency/data_race/advanced/example1
Sample program to show a more complicated race condition using an interface value.
|
Sample program to show a more complicated race condition using an interface value. |
concurrency/data_race/example1
Sample program to show how to create race conditions in our programs.
|
Sample program to show how to create race conditions in our programs. |
concurrency/data_race/example2
Sample program to show how to use the atomic package to provide safe access to numeric types.
|
Sample program to show how to use the atomic package to provide safe access to numeric types. |
concurrency/data_race/example3
Sample program to show how to use a mutex to define critical sections of code that need synchronous access.
|
Sample program to show how to use a mutex to define critical sections of code that need synchronous access. |
concurrency/data_race/example4
Sample program to show how to use a read/write mutex to define critical sections of code that needs synchronous access.
|
Sample program to show how to use a read/write mutex to define critical sections of code that needs synchronous access. |
concurrency/data_race/example5
Sample program to show how maps are not safe for concurrent use by default.
|
Sample program to show how maps are not safe for concurrent use by default. |
concurrency/data_race/exercises/exercise1
Answer for exercise 1 of Race Conditions.
|
Answer for exercise 1 of Race Conditions. |
concurrency/data_race/exercises/template1
Fix the race condition in this program.
|
Fix the race condition in this program. |
concurrency/goroutines/example1
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. |
concurrency/goroutines/example2
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. |
concurrency/goroutines/example3
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. |
concurrency/goroutines/exercises/exercise1
Create a program that declares two anonymous functions.
|
Create a program that declares two anonymous functions. |
concurrency/goroutines/exercises/template1
Create a program that declares two anonymous functions.
|
Create a program that declares two anonymous functions. |
concurrency/patterns/advanced
This sample program demonstrates how the logger package works.
|
This sample program demonstrates how the logger package works. |
concurrency/patterns/chat
Package chat implements a basic chat room.
|
Package chat implements a basic chat room. |
concurrency/patterns/chat/main
This sample program demonstrates how to create a simple chat system.
|
This sample program demonstrates how to create a simple chat system. |
concurrency/patterns/logger
Package logger shows a pattern of using a buffer to handle log write continuity by dealing with write latencies by throwing away log data.
|
Package logger shows a pattern of using a buffer to handle log write continuity by dealing with write latencies by throwing away log data. |
concurrency/patterns/logger/main
This sample program demonstrates how the logger package works.
|
This sample program demonstrates how the logger package works. |
concurrency/patterns/pool
Package pool manages a user defined set of resources.
|
Package pool manages a user defined set of resources. |
concurrency/patterns/pool/main
This sample program demonstrates how to use the pool package to share a simulated set of database connections.
|
This sample program demonstrates how to use the pool package to share a simulated set of database connections. |
concurrency/patterns/task
Package task provides a pool of goroutines to perform tasks.
|
Package task provides a pool of goroutines to perform tasks. |
concurrency/patterns/task/main
This sample program demonstrates how to use the work package to use a pool of goroutines to get work done.
|
This sample program demonstrates how to use the work package to use a pool of goroutines to get work done. |
design/composition/assertions/example1
Sample program demonstrating when implicit interface conversions are provided by the compiler.
|
Sample program demonstrating when implicit interface conversions are provided by the compiler. |
design/composition/assertions/example2
Sample program demonstrating that type assertions are a runtime and not compile time construct.
|
Sample program demonstrating that type assertions are a runtime and not compile time construct. |
design/composition/assertions/example3
Sample program to show how method sets can affect behavior.
|
Sample program to show how method sets can affect behavior. |
design/composition/decoupling/example1
Sample program demonstrating struct composition.
|
Sample program demonstrating struct composition. |
design/composition/decoupling/example2
Sample program demonstrating decoupling with interfaces.
|
Sample program demonstrating decoupling with interfaces. |
design/composition/decoupling/example3
Sample program demonstrating interface composition.
|
Sample program demonstrating interface composition. |
design/composition/decoupling/example4
Sample program demonstrating decoupling with interface composition.
|
Sample program demonstrating decoupling with interface composition. |
design/composition/decoupling/example5
Sample program demonstrating removing interface pollution.
|
Sample program demonstrating removing interface pollution. |
design/composition/decoupling/example6
Sample program demonstrating being more precise with API design.
|
Sample program demonstrating being more precise with API design. |
design/composition/exercises/exercise1
Using the template, declare a set of concrete types that implement the set of predefined interface types.
|
Using the template, declare a set of concrete types that implement the set of predefined interface types. |
design/composition/grouping/example1
This is an example of using type hierarchies with a OOP pattern.
|
This is an example of using type hierarchies with a OOP pattern. |
design/composition/grouping/example2
This is an example of using composition and interfaces.
|
This is an example of using composition and interfaces. |
design/composition/mocking/example1
Sample program to show how you can personally mock concrete types when you need to for your own packages or tests.
|
Sample program to show how you can personally mock concrete types when you need to for your own packages or tests. |
design/composition/mocking/example1/pubsub
Package pubsub simulates a package that provides publication/subscription type services.
|
Package pubsub simulates a package that provides publication/subscription type services. |
design/composition/pollution/example1
This is an example that creates interface pollution by improperly using an interface when one is not needed.
|
This is an example that creates interface pollution by improperly using an interface when one is not needed. |
design/composition/pollution/example2
This is an example that removes the interface pollution by removing the interface and using the concrete type directly.
|
This is an example that removes the interface pollution by removing the interface and using the concrete type directly. |
design/error_handling/example1
Sample program to show how the default error type is implemented.
|
Sample program to show how the default error type is implemented. |
design/error_handling/example2
Sample program to show how to use error variables to help the caller determine the exact error being returned.
|
Sample program to show how to use error variables to help the caller determine the exact error being returned. |
design/error_handling/example3
http://golang.org/src/pkg/encoding/json/decode.go Sample program to show how to implement a custom error type based on the json package in the standard library.
|
http://golang.org/src/pkg/encoding/json/decode.go Sample program to show how to implement a custom error type based on the json package in the standard library. |
design/error_handling/example4
Package example4 provides code to show how to implement behavior as context.
|
Package example4 provides code to show how to implement behavior as context. |
design/error_handling/example5
Sample program to show see if the class can find the bug.
|
Sample program to show see if the class can find the bug. |
design/error_handling/example5/reason
Sample program to show see if the class can find the bug.
|
Sample program to show see if the class can find the bug. |
design/error_handling/example6
Sample program to show how wrapping errors work with pkg/errors.
|
Sample program to show how wrapping errors work with pkg/errors. |
design/error_handling/example7
Sample program to show how wrapping errors work with the stdlib.
|
Sample program to show how wrapping errors work with the stdlib. |
design/error_handling/exercises/exercise1
Create two error variables, one called ErrInvalidValue and the other called ErrAmountTooLarge.
|
Create two error variables, one called ErrInvalidValue and the other called ErrAmountTooLarge. |
design/error_handling/exercises/exercise2
Create a custom error type called appError that contains three fields, err error, message string and code int.
|
Create a custom error type called appError that contains three fields, err error, message string and code int. |
design/error_handling/exercises/template1
Create two error variables, one called ErrInvalidValue and the other called ErrAmountTooLarge.
|
Create two error variables, one called ErrInvalidValue and the other called ErrAmountTooLarge. |
design/error_handling/exercises/template2
Create a custom error type called appError that contains three fields, err error, message string and code int.
|
Create a custom error type called appError that contains three fields, err error, message string and code int. |
exercises/chatbot/exercise
Write a chat bot to talk to you.
|
Write a chat bot to talk to you. |
exercises/chatbot/template
Write a chat bot to talk to you.
|
Write a chat bot to talk to you. |
exercises/contributors/part1
Call the GitHub API to get a list of repository contributors.
|
Call the GitHub API to get a list of repository contributors. |
exercises/contributors/template
Call the GitHub API to get a list of repository contributors.
|
Call the GitHub API to get a list of repository contributors. |
exercises/sha256sum/exercise
Write a program that is given a list of file names as arguments then prints the sha256 sum for the contents of each file.
|
Write a program that is given a list of file names as arguments then prints the sha256 sum for the contents of each file. |
exercises/sha256sum/template
Write a program that is given a list of file names as arguments then prints the sha256 sum for the contents of each file.
|
Write a program that is given a list of file names as arguments then prints the sha256 sum for the contents of each file. |
generics/08-swapping
This code provided by Sathish VJ.
|
This code provided by Sathish VJ. |
language/arrays/example1
Sample program to show how to declare and iterate over arrays of different types.
|
Sample program to show how to declare and iterate over arrays of different types. |
language/arrays/example2
Sample program to show how arrays of different sizes are not of the same type.
|
Sample program to show how arrays of different sizes are not of the same type. |
language/arrays/example3
Sample program to show how the behavior of the for range and how memory for an array is contiguous.
|
Sample program to show how the behavior of the for range and how memory for an array is contiguous. |
language/arrays/example4
Sample program to show how the for range has both value and pointer semantics.
|
Sample program to show how the for range has both value and pointer semantics. |
language/arrays/exercises/exercise1
Declare an array of 5 strings with each element initialized to its zero value.
|
Declare an array of 5 strings with each element initialized to its zero value. |
language/arrays/exercises/template1
Declare an array of 5 strings with each element initialized to its zero value.
|
Declare an array of 5 strings with each element initialized to its zero value. |
language/constants/example1
Sample program to show how to declare constants and their implementation in Go.
|
Sample program to show how to declare constants and their implementation in Go. |
language/constants/example2
Sample program to show how constants do have a parallel type system.
|
Sample program to show how constants do have a parallel type system. |
language/constants/example3
Sample program to show how iota works.
|
Sample program to show how iota works. |
language/constants/example4
Sample program to show how literal, constant and variables work within the scope of implicit conversion.
|
Sample program to show how literal, constant and variables work within the scope of implicit conversion. |
language/constants/exercises/exercise1
Declare an untyped and typed constant and display their values.
|
Declare an untyped and typed constant and display their values. |
language/constants/exercises/template1
Declare an untyped and typed constant and display their values.
|
Declare an untyped and typed constant and display their values. |
language/control_flow/example1
Sample program to show how to use if statements.
|
Sample program to show how to use if statements. |
language/control_flow/example2
Sample program to show how to use switch statements.
|
Sample program to show how to use switch statements. |
language/control_flow/exercises/exercise1
Write a program that inspects a user's name and greets them in a certain way if they are on a list or in a different way if they are not.
|
Write a program that inspects a user's name and greets them in a certain way if they are on a list or in a different way if they are not. |
language/control_flow/exercises/template1
Write a program that inspects a user's name and greets them in a certain way if they are on a list or in a different way if they are not.
|
Write a program that inspects a user's name and greets them in a certain way if they are on a list or in a different way if they are not. |
language/embedding/example1
Sample program to show how what we are doing is NOT embedding a type but just using a type as a field.
|
Sample program to show how what we are doing is NOT embedding a type but just using a type as a field. |
language/embedding/example2
Sample program to show how to embed a type into another type and the relationship between the inner and outer type.
|
Sample program to show how to embed a type into another type and the relationship between the inner and outer type. |
language/embedding/example3
Sample program to show how embedded types work with interfaces.
|
Sample program to show how embedded types work with interfaces. |
language/embedding/example4
Sample program to show what happens when the outer and inner type implement the same interface.
|
Sample program to show what happens when the outer and inner type implement the same interface. |
language/embedding/exercises/exercise1
Sample program to show how you can use embedding to reuse behavior from another type and override specific methods.
|
Sample program to show how you can use embedding to reuse behavior from another type and override specific methods. |
language/embedding/exercises/template1
This program defines a type Feed with two methods: Count and Fetch.
|
This program defines a type Feed with two methods: Count and Fetch. |
language/exporting/example1
Sample program to show how to access an exported identifier.
|
Sample program to show how to access an exported identifier. |
language/exporting/example1/counters
Package counters provides alert counter support.
|
Package counters provides alert counter support. |
language/exporting/example2
Sample program to show how the program can't access an unexported identifier from another package.
|
Sample program to show how the program can't access an unexported identifier from another package. |
language/exporting/example2/counters
Package counters provides alert counter support.
|
Package counters provides alert counter support. |
language/exporting/example3
Sample program to show how the program can access a value of an unexported identifier from another package.
|
Sample program to show how the program can access a value of an unexported identifier from another package. |
language/exporting/example3/counters
Package counters provides alert counter support.
|
Package counters provides alert counter support. |
language/exporting/example4
Sample program to show how unexported fields from an exported struct type can't be accessed directly.
|
Sample program to show how unexported fields from an exported struct type can't be accessed directly. |
language/exporting/example4/users
Package users provides support for user management.
|
Package users provides support for user management. |
language/exporting/example5
Sample program to show how to create values from exported types with embedded unexported types.
|
Sample program to show how to create values from exported types with embedded unexported types. |
language/exporting/example5/users
Package users provides support for user management.
|
Package users provides support for user management. |
language/exporting/exercises/exercise1
Create a package named toy with a single exported struct type named Toy.
|
Create a package named toy with a single exported struct type named Toy. |
language/exporting/exercises/exercise1/toy
Package toy contains support for managing toy inventory.
|
Package toy contains support for managing toy inventory. |
language/exporting/exercises/template1
Create a package named toy with a single exported struct type named Toy.
|
Create a package named toy with a single exported struct type named Toy. |
language/exporting/exercises/template1/toy
Package toy contains support for managing toy inventory.
|
Package toy contains support for managing toy inventory. |
language/functions/advanced/example1
Sample program to show how to recover from panics.
|
Sample program to show how to recover from panics. |
language/functions/example1
Sample program to show how functions can return multiple values while using named and struct types.
|
Sample program to show how functions can return multiple values while using named and struct types. |
language/functions/example2
Sample program to show how we can use the blank identifier to ignore return values.
|
Sample program to show how we can use the blank identifier to ignore return values. |
language/functions/example3
Sample program to show some of the mechanics behind the short variable declaration operator redeclares.
|
Sample program to show some of the mechanics behind the short variable declaration operator redeclares. |
language/functions/example4
Sample program to show how anonymous functions and closures work.
|
Sample program to show how anonymous functions and closures work. |
language/functions/exercises/exercise1
Declare a struct type to maintain information about a user.
|
Declare a struct type to maintain information about a user. |
language/functions/exercises/template1
Declare a struct type to maintain information about a user.
|
Declare a struct type to maintain information about a user. |
language/interfaces/advanced/example1
Sample program that explores how interface assignments work when values are stored inside the interface.
|
Sample program that explores how interface assignments work when values are stored inside the interface. |
language/interfaces/example0
Sample program that could benefit from polymorphic behavior with interfaces.
|
Sample program that could benefit from polymorphic behavior with interfaces. |
language/interfaces/example1
Sample program to show how polymorphic behavior with interfaces.
|
Sample program to show how polymorphic behavior with interfaces. |
language/interfaces/example2
Sample program to show how to understand method sets.
|
Sample program to show how to understand method sets. |
language/interfaces/example3
Sample program to show how you can't always get the address of a value.
|
Sample program to show how you can't always get the address of a value. |
language/interfaces/example4
Sample program to show how the concrete value assigned to the interface is what is stored inside the interface.
|
Sample program to show how the concrete value assigned to the interface is what is stored inside the interface. |
language/interfaces/example5
Sample program to show the syntax of type assertions.
|
Sample program to show the syntax of type assertions. |
language/interfaces/example6
Sample program to show type assertions using the comma-ok idiom.
|
Sample program to show type assertions using the comma-ok idiom. |
language/interfaces/example7
Sample program to show the syntax and mechanics of type switches and the empty interface.
|
Sample program to show the syntax and mechanics of type switches and the empty interface. |
language/interfaces/exercises/exercise1
Declare an interface named speaker with a method named speak.
|
Declare an interface named speaker with a method named speak. |
language/interfaces/exercises/template1
Declare an interface named speaker with a method named speak.
|
Declare an interface named speaker with a method named speak. |
language/maps/example1
Sample program to show how to initialize a map, write to it, then read and delete from it.
|
Sample program to show how to initialize a map, write to it, then read and delete from it. |
language/maps/example2
Sample program to show how maps behave when you read an absent key.
|
Sample program to show how maps behave when you read an absent key. |
language/maps/example3
Sample program to show how only types that can have equality defined on them can be a map key.
|
Sample program to show how only types that can have equality defined on them can be a map key. |
language/maps/example4
Sample program to show how to declare, initialize and iterate over a map.
|
Sample program to show how to declare, initialize and iterate over a map. |
language/maps/example5
Sample program to show how to walk through a map by alphabetical key order.
|
Sample program to show how to walk through a map by alphabetical key order. |
language/maps/example6
Sample program to show that you cannot take the address of an element in a map.
|
Sample program to show that you cannot take the address of an element in a map. |
language/maps/example7
Sample program to show how maps are reference types.
|
Sample program to show how maps are reference types. |
language/maps/exercises/exercise1
Declare and make a map of integer values with a string as the key.
|
Declare and make a map of integer values with a string as the key. |
language/maps/exercises/template1
Declare and make a map of integer values with a string as the key.
|
Declare and make a map of integer values with a string as the key. |
language/methods/example1
Sample program to show how to declare methods and how the Go compiler supports them.
|
Sample program to show how to declare methods and how the Go compiler supports them. |
language/methods/example2
Sample program to show how to declare methods against a named type.
|
Sample program to show how to declare methods against a named type. |
language/methods/example3
Sample program to show how to declare function variables.
|
Sample program to show how to declare function variables. |
language/methods/example4
Sample program to show how to declare and use function types.
|
Sample program to show how to declare and use function types. |
language/methods/exercises/exercise1
Declare a struct that represents a baseball player.
|
Declare a struct that represents a baseball player. |
language/methods/exercises/template1
Declare a struct that represents a baseball player.
|
Declare a struct that represents a baseball player. |
language/pointers/example1
Sample program to show the basic concept of pass by value.
|
Sample program to show the basic concept of pass by value. |
language/pointers/example2
Sample program to show the basic concept of using a pointer to share data.
|
Sample program to show the basic concept of using a pointer to share data. |
language/pointers/example3
Sample program to show the basic concept of using a pointer to share data.
|
Sample program to show the basic concept of using a pointer to share data. |
language/pointers/example4
Sample program to teach the mechanics of escape analysis.
|
Sample program to teach the mechanics of escape analysis. |
language/pointers/example5
Sample program to show how stacks grow/change.
|
Sample program to show how stacks grow/change. |
language/pointers/exercises/exercise1
Declare and initialize a variable of type int with the value of 20.
|
Declare and initialize a variable of type int with the value of 20. |
language/pointers/exercises/exercise2
Declare a struct type and create a value of this type.
|
Declare a struct type and create a value of this type. |
language/pointers/exercises/template1
Declare and initialize a variable of type int with the value of 20.
|
Declare and initialize a variable of type int with the value of 20. |
language/pointers/exercises/template2
Declare a struct type and create a value of this type.
|
Declare a struct type and create a value of this type. |
language/slices/advanced/example1
Sample program to show how to use a third index slice.
|
Sample program to show how to use a third index slice. |
language/slices/example1
Sample program to show how the capacity of the slice is not available for use.
|
Sample program to show how the capacity of the slice is not available for use. |
language/slices/example2
Sample program to show the components of a slice.
|
Sample program to show the components of a slice. |
language/slices/example3
Sample program to show how to takes slices of slices to create different views of and make changes to the underlying array.
|
Sample program to show how to takes slices of slices to create different views of and make changes to the underlying array. |
language/slices/example4
Sample program to show how to grow a slice using the built-in function append and how append grows the capacity of the underlying array.
|
Sample program to show how to grow a slice using the built-in function append and how append grows the capacity of the underlying array. |
language/slices/example5
Sample program to show how one needs to be careful when appending to a slice when you have a reference to an element.
|
Sample program to show how one needs to be careful when appending to a slice when you have a reference to an element. |
language/slices/example6
Sample program to show how strings have a UTF-8 encoded byte array.
|
Sample program to show how strings have a UTF-8 encoded byte array. |
language/slices/example7
Sample program to show how to declare and use variadic functions.
|
Sample program to show how to declare and use variadic functions. |
language/slices/example8
Sample program to show how the for range has both value and pointer semantics.
|
Sample program to show how the for range has both value and pointer semantics. |
language/slices/example9
Sample program to show how slices allow for efficient linear traversals.
|
Sample program to show how slices allow for efficient linear traversals. |
language/slices/exercises/exercise1
Declare a nil slice of integers.
|
Declare a nil slice of integers. |
language/slices/exercises/template1
Declare a nil slice of integers.
|
Declare a nil slice of integers. |
language/struct_types/advanced/example1
Sample program to show how struct types align on boundaries.
|
Sample program to show how struct types align on boundaries. |
language/struct_types/example1
Sample program to show how to declare and initialize struct types.
|
Sample program to show how to declare and initialize struct types. |
language/struct_types/example2
Sample program to show how to declare and initialize anonymous struct types.
|
Sample program to show how to declare and initialize anonymous struct types. |
language/struct_types/example3
Sample program to show how variables of an unnamed type can be assigned to variables of a named type, when they are identical.
|
Sample program to show how variables of an unnamed type can be assigned to variables of a named type, when they are identical. |
language/struct_types/exercises/exercise1
Declare a struct type to maintain information about a user (name, email and age).
|
Declare a struct type to maintain information about a user (name, email and age). |
language/struct_types/exercises/template1
Declare a struct type to maintain information about a user (name, email and age).
|
Declare a struct type to maintain information about a user (name, email and age). |
language/variables/example1
Sample program to show how to declare variables.
|
Sample program to show how to declare variables. |
language/variables/exercises/exercise1
Declare three variables that are initialized to their zero value and three declared with a literal value.
|
Declare three variables that are initialized to their zero value and three declared with a literal value. |
language/variables/exercises/template1
Declare three variables that are initialized to their zero value and three declared with a literal value.
|
Declare three variables that are initialized to their zero value and three declared with a literal value. |
packages/context/example1
Sample program to show how to store and retrieve values from a context.
|
Sample program to show how to store and retrieve values from a context. |
packages/context/example2
Sample program to show how to use the WithCancel function.
|
Sample program to show how to use the WithCancel function. |
packages/context/example3
Sample program to show how to use the WithDeadline function.
|
Sample program to show how to use the WithDeadline function. |
packages/context/example4
Sample program to show how to use the WithTimeout function of the Context package.
|
Sample program to show how to use the WithTimeout function of the Context package. |
packages/context/example5
Sample program that implements a web request with a context that is used to timeout the request if it takes too long.
|
Sample program that implements a web request with a context that is used to timeout the request if it takes too long. |
packages/context/example6
Sample program to show when a Context is canceled, all Contexts derived from it are also canceled.
|
Sample program to show when a Context is canceled, all Contexts derived from it are also canceled. |
packages/context/exercises/exercise1
Sample program that implements a simple web service using the context to handle timeouts and pass context into the request.
|
Sample program that implements a simple web service using the context to handle timeouts and pass context into the request. |
packages/encoding/example1
Sample program to show how to unmarshal a JSON document into a user defined struct type.
|
Sample program to show how to unmarshal a JSON document into a user defined struct type. |
packages/encoding/example2
Sample program to show how to unmarshal a JSON document into a user defined struct type from a file.
|
Sample program to show how to unmarshal a JSON document into a user defined struct type from a file. |
packages/encoding/example3
Sample program to show how to marshal a user defined struct type into a string.
|
Sample program to show how to marshal a user defined struct type into a string. |
packages/encoding/example4
Sample program to show how write a custom Unmarshal and Marshal functions.
|
Sample program to show how write a custom Unmarshal and Marshal functions. |
packages/encoding/exercises/exercise1
Create a file with an array of JSON documents that contain a user name and email address.
|
Create a file with an array of JSON documents that contain a user name and email address. |
packages/encoding/exercises/template1
Create a file with an array of JSON documents that contain a user name and email address.
|
Create a file with an array of JSON documents that contain a user name and email address. |
packages/io/advanced/example1
Sample program to show how io.Writes can be embedded within other Writer calls to perform complex writes.
|
Sample program to show how io.Writes can be embedded within other Writer calls to perform complex writes. |
packages/io/advanced/example2
Sample program that adds a few more features.
|
Sample program that adds a few more features. |
packages/io/example1
Sample program to show how different functions from the standard library use the io.Writer interface.
|
Sample program to show how different functions from the standard library use the io.Writer interface. |
packages/io/example2
Sample program to show how to write a simple version of curl using the io.Reader and io.Writer interface support.
|
Sample program to show how to write a simple version of curl using the io.Reader and io.Writer interface support. |
packages/io/example3
Sample program to show how to use a MultiWriter to perform writes to multiple devices with one write call.
|
Sample program to show how to use a MultiWriter to perform writes to multiple devices with one write call. |
packages/io/example4
Sample program that takes a stream of bytes and looks for the bytes “elvis” and when they are found, replace them with “Elvis”.
|
Sample program that takes a stream of bytes and looks for the bytes “elvis” and when they are found, replace them with “Elvis”. |
packages/io/exercises/exercise1
Download any document from the web and display the content in the terminal and write it to a file at the same time.
|
Download any document from the web and display the content in the terminal and write it to a file at the same time. |
packages/io/exercises/template1
Download any document from the web and display the content in the terminal and write it to a file at the same time.
|
Download any document from the web and display the content in the terminal and write it to a file at the same time. |
packages/logging/example1
Sample program to show how to use the log package from the standard library.
|
Sample program to show how to use the log package from the standard library. |
packages/logging/example2
Sample program to show how to extend the log package from the standard library.
|
Sample program to show how to extend the log package from the standard library. |
packages/logging/exercises/exercise1
Setup a new program to use the log package.
|
Setup a new program to use the log package. |
packages/logging/exercises/template1
Setup a new program to use the log package.
|
Setup a new program to use the log package. |
packages/reflection/exercises/exercise1
Declare a struct type that represents a request for a customer invoice.
|
Declare a struct type that represents a request for a customer invoice. |
packages/reflection/exercises/template1
Declare a struct type that represents a request for a customer invoice.
|
Declare a struct type that represents a request for a customer invoice. |
packages/reflection/inspect/integer
Example shows how to use reflection to decode an integer.
|
Example shows how to use reflection to decode an integer. |
packages/reflection/inspect/struct
Example shows how to inspect a structs fields and display the field name, type and value.
|
Example shows how to inspect a structs fields and display the field name, type and value. |
packages/reflection/interface/map
Example shows how to reflect over a map of struct type values that are stored inside an interface value.
|
Example shows how to reflect over a map of struct type values that are stored inside an interface value. |
packages/reflection/interface/pointer
Example shows how to reflect over a struct type pointer that is stored inside an interface value.
|
Example shows how to reflect over a struct type pointer that is stored inside an interface value. |
packages/reflection/interface/slice
Example shows how to reflect over a slice of struct type values that are stored inside an interface value.
|
Example shows how to reflect over a slice of struct type values that are stored inside an interface value. |
packages/reflection/interface/struct
Example shows how to reflect over a struct type value that is stored inside an interface value.
|
Example shows how to reflect over a struct type value that is stored inside an interface value. |
packages/reflection/tag
Example shows how to reflect on a struct type with tags.
|
Example shows how to reflect on a struct type with tags. |
packages/slices/example1
Sample program shows how to use the BinarySearch APIs from the slices package.
|
Sample program shows how to use the BinarySearch APIs from the slices package. |
packages/slices/example10
Sample program shows how to use the Index API from the slices package.
|
Sample program shows how to use the Index API from the slices package. |
packages/slices/example11
Sample program shows how to use the Insert API from the slices package.
|
Sample program shows how to use the Insert API from the slices package. |
packages/slices/example12
Sample program shows how to use the Sort APIs from the slices package.
|
Sample program shows how to use the Sort APIs from the slices package. |
packages/slices/example13
Sample program shows how to use the Replace API from the slices package.
|
Sample program shows how to use the Replace API from the slices package. |
packages/slices/example2
Sample program shows how to use the Clip API from the slices package.
|
Sample program shows how to use the Clip API from the slices package. |
packages/slices/example3
Sample program shows how to use the Clone API from the slices package.
|
Sample program shows how to use the Clone API from the slices package. |
packages/slices/example4
Sample program shows how to use the Compact APIs from the slices package.
|
Sample program shows how to use the Compact APIs from the slices package. |
packages/slices/example5
Sample program shows how to use the Compare API from the slices package.
|
Sample program shows how to use the Compare API from the slices package. |
packages/slices/example6
Sample program shows how to use the Contains API from the slices package.
|
Sample program shows how to use the Contains API from the slices package. |
packages/slices/example7
Sample program shows how to use the Delete API from the slices package.
|
Sample program shows how to use the Delete API from the slices package. |
packages/slices/example8
Sample program shows how to use the Equal API from the slices package.
|
Sample program shows how to use the Equal API from the slices package. |
packages/slices/example9
Sample program shows how to use the Grow API from the slices package.
|
Sample program shows how to use the Grow API from the slices package. |
profiling/bce
Package bce shows a sample function that does not take into consideration the extra bounds checks that the compiler places in code for integrity.
|
Package bce shows a sample function that does not take into consideration the extra bounds checks that the compiler places in code for integrity. |
profiling/blocking
Sample program to see what a trace will look like for basic channel latencies.
|
Sample program to see what a trace will look like for basic channel latencies. |
profiling/godebug
Sample program that implements a simple web service that will allow us to explore how to use the GODEBUG variable.
|
Sample program that implements a simple web service that will allow us to explore how to use the GODEBUG variable. |
profiling/http_trace/example1
Sample program to show how the httptrace package provides a number of hooks to gather information during an HTTP round trip about a variety of events.
|
Sample program to show how the httptrace package provides a number of hooks to gather information during an HTTP round trip about a variety of events. |
profiling/http_trace/example2
Sample program to show how to use the http trace with a unique Client and Transport.
|
Sample program to show how to use the http trace with a unique Client and Transport. |
profiling/memcpu
Sample program that takes a stream of bytes and looks for the bytes “elvis” and when they are found, replace them with “Elvis”.
|
Sample program that takes a stream of bytes and looks for the bytes “elvis” and when they are found, replace them with “Elvis”. |
profiling/pprof
Sample program that implements a simple web service that will allow us to explore how to use the http/pprof tooling.
|
Sample program that implements a simple web service that will allow us to explore how to use the http/pprof tooling. |
profiling/project
This program provides a sample web service that uses concurrency and channels to perform a coordinated set of asynchronous searches.
|
This program provides a sample web service that uses concurrency and channels to perform a coordinated set of asynchronous searches. |
profiling/project/search
Package search manages the searching of results against different news feeds.
|
Package search manages the searching of results against different news feeds. |
profiling/project/service
Package service maintains the logic for the web service.
|
Package service maintains the logic for the web service. |
profiling/stack_trace/example1
Sample program to show how to read a stack trace.
|
Sample program to show how to read a stack trace. |
profiling/stack_trace/example2
Sample program to show how to read a stack trace when it packs values.
|
Sample program to show how to read a stack trace when it packs values. |
profiling/stack_trace/example3
Sample program that implements a simple web service that will allow us to explore how to look at core dumps.
|
Sample program that implements a simple web service that will allow us to explore how to look at core dumps. |
profiling/trace
Sample program that performs a series of I/O related tasks to better understand tracing in Go.
|
Sample program that performs a series of I/O related tasks to better understand tracing in Go. |
testing/benchmarks/caching
Package caching provides code to show why Data Oriented Design matters.
|
Package caching provides code to show why Data Oriented Design matters. |
testing/benchmarks/cpu-bound
Understanding your workload is critically important in understanding if something can be made concurrent and how complex it is to perform.
|
Understanding your workload is critically important in understanding if something can be made concurrent and how complex it is to perform. |
testing/benchmarks/io-bound
Understanding your workload is critically important in understanding if something can be made concurrent and how complex it is to perform.
|
Understanding your workload is critically important in understanding if something can be made concurrent and how complex it is to perform. |
testing/fuzzing/example1
Package api provides an example on how to use go-fuzz.
|
Package api provides an example on how to use go-fuzz. |
testing/fuzzing/exercises/exercise1
Package fuzzprot provides the ability to unpack user values from our binary protocol.
|
Package fuzzprot provides the ability to unpack user values from our binary protocol. |
testing/strings
Package strings provides some useful string manipulation functions.
|
Package strings provides some useful string manipulation functions. |
testing/strings/example1
Package strings provides some useful string manipulation functions.
|
Package strings provides some useful string manipulation functions. |
testing/strings/example2
Package strings provides some useful string manipulation functions.
|
Package strings provides some useful string manipulation functions. |
testing/strings/example3
Package strings provides some useful string manipulation functions.
|
Package strings provides some useful string manipulation functions. |
testing/strings/example4
Package strings provides some useful string manipulation functions.
|
Package strings provides some useful string manipulation functions. |
testing/tests/example4
Sample program that implements a simple web service.
|
Sample program that implements a simple web service. |
testing/tests/example4/handlers
Package handlers provides the endpoints for the web service.
|
Package handlers provides the endpoints for the web service. |
videos/miki/shorts/expandenv
Use os.ExpandEnv to expand environment variables in a string.
|
Use os.ExpandEnv to expand environment variables in a string. |
videos/miki/shorts/fmt_loc
fmt.Printf can access arguments by location.
|
fmt.Printf can access arguments by location. |
videos/miki/shorts/fold
Use strings.EqualFold for Unicode aware case insensitive comparison.
|
Use strings.EqualFold for Unicode aware case insensitive comparison. |
videos/miki/shorts/json_stream
Dummy DB package
|
Dummy DB package |
videos/miki/shorts/url_query
Use url.URL to change URLs.
|
Use url.URL to change URLs. |
Click to show internal directories.
Click to hide internal directories.