gotraining

command module
v0.0.0-...-361c87b Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2017 License: Apache-2.0 Imports: 10 Imported by: 0

README

Go Training

Click Here To See The Different Courses And Material

Go is an open source programming language that makes it easy to build simple, reliable, and efficient software. Although it borrows ideas from existing languages, it has a unique and simple nature that make Go programs different in character from programs written in other languages. It balances the capabilities of a low-level systems language with some high-level features you see in modern languages today. This creates a programming environment that allows you to be incredibly productive, performant and fully in control; in Go, you can write less code and do so much more.

Go is the fusion of performance and productivity wrapped in a language that software developers can learn, use and understand. Go is not C, yet we have many of the benefits of C with the benefits of higher level programming languages.

Learn More - Go Team
Getting Started In Go - Aarti Parikh

Minimal Qualified Student

The material has been designed to be taught in a classroom environment. The code is well commented but missing some of the contextual concepts and ideas that will be covered in class. Students with the following minimal background will get the most out of the class.

  • Studied CS in school or has a minimum of two years of experience programming full time professionally.
  • Familiar with structural and object oriented programming styles.
  • Has worked with arrays, lists, queues and stacks.
  • Understands processes, threads and synchronization at a high level.
  • Operating Systems
    • Has worked with a command shell.
    • Knows how to maneuver around the file system.
    • Understands what environment variables are.

Important Reading

Please check out this page of important reading. You will find articles and videos around mechanical sympathy, data-oriented design, Go runtime and optimizations and articles about the history of computing.

Our Experience

We have taught classes to thousands of students for over the past two years and all around the world.

Look at our schedule: https://github.com/ardanlabs/gotraining#schedule

Before You Come To Class

The following is a set of tasks that can be done prior to showing up for class. We will also do this in class if anyone has not completed it. However, the more attendees that complete this ahead of time the more time we have to cover additional training material.

Joining the Go Slack Community

We use a slack channel to share links, code, and examples during the training. This is free. This is also the same slack community you will use after training to ask for help and interact with may Go experts around the world in the community.

  1. Using the following link, fill out your name and email address: https://gophersinvite.herokuapp.com/
  2. Check your email, and follow the link to the slack application.
  3. Join the training channel by clicking on this link: https://gophers.slack.com/messages/training/
  4. Click the “Join Channel” button at the bottom of the screen.

Installing Go

Local Installation

I do not recommend using homebrew or apt-get.

https://www.goinggo.net/2016/05/installing-go-and-your-workspace.html

Using Docker

Installing Go may not be needed if you choose to use Docker. With running a gotraining container, you can download the training material at any location on your disk without having to set $GOPATH. And you can still access (e.g. for editing) the training materials locally.

git clone https://github.com/ardanlabs/gotraining.git
cd gotraining

NOTE: This assumes you have Git installed. If you don’t, you can find the installation instructions here: https://git-scm.com/

To build and run docker container to start your training right away, see here.

Editors

Visual Studio Code
https://code.visualstudio.com/Updates
https://github.com/microsoft/vscode-go

Sublime
http://www.sublimetext.com/
https://github.com/DisposaBoy/GoSublime
http://www.wolfe.id.au/2015/03/05/using-sublime-text-for-go-development/

VIM
http://www.vim.org/download.php
http://farazdagi.com/blog/2015/vim-as-golang-ide/

Atom
https://atom.io/
https://github.com/joefitzgerald/go-plus

LiteIDE
http://sourceforge.net/projects/liteide/files/

Emacs
https://github.com/creack/dotfiles

For a full list of editors, see the wiki: https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins

Installing the Training Material

While many of the examples can be done using the online playground (http://play.golang.org), some may find it easier to complete them with their local editor. To do so, you will want to load the training material locally to your machine. From a command prompt, issue the following commands:

mkdir -p $GOPATH/src/github.com/ardanlabs
cd $GOPATH/src/github.com/ardanlabs
git clone https://github.com/ardanlabs/gotraining.git

NOTE: This assumes you have Git installed. If you don’t, you can find the installation instructions here: https://git-scm.com/

Starter Material

Quick Tour

http://golang.org/
https://tour.golang.org/welcome/1
http://www.goinggo.net/

Go Get The Training Material

go get github.com/ardanlabs/gotraining

Teachers

William Kennedy (@goinggodotnet)
William Kennedy is a managing partner at Ardan Studio in Miami, Florida, a mobile, web, and systems development company. He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.

Writing
Going Go
Running MongoDB Queries Concurrently With Go
Go In Action

Articles
IT World Canada

Video
GopherCon India - Go In Action
GolangUK - Dependency Management
GopherCon 2014 - Building an analytics engine
GothamGo - Error Handling in Go

Vancouver Meetup - Decoupling From Change
London Meetup - Mechanical Sympathy
GoSF Meetup - The Nature of Constants in Go
Bangalore Meetup - OOP in Go
Vancouver Meetup - Compiler Optimizations in Go

Podcasts
Your Tech Interviews are Scaring Away Brilliant People
The 4 Cornerstones of Writing Software
Bill Kennedy on Mechanical Sympathy

Daniel Whitenack (@dwhitena)
Daniel Whitenack is a PhD trained data scientist/engineer with industry experience developing data science applications for large and small companies, including predictive models, dashboards, recommendation engines, and more. Daniel has spoken at conferences around the world (Gopherfest, GopherCon, and more), maintains the Go kernel for Jupyter, and is actively helping to organize contributions to various open source data science projects.

Writing
Data Dan
Elephantine Analytics

Articles
O'Reilly Data Blog

Video
GopherCon 2016 - Go for Data Science

Podcasts
Go Time - Episode 4

John Gosset (@jgosset_)
John is a consultant and software developer based in Montreal, Canada. He works on server software and embedded systems, and has worked with organizations large and small in both the public and private sectors - from the Canadian government and FinTech companies to small carpet manufacturers in Saint-Jean-sur-Richelieu, Quebec. He is also a contractor for RedHat, and volunteers with the Software Carpentry Foundation to help research scientists learn programming fundamentals. He believes coding is a useful skill for anyone to have, and is passionate about helping make it more accessible to everybody.

Video
GopherCon Brazil - Go Scratch That Itch

Twitter

Ian Molee (@ianfoo)
"The unflappable @goinggodotnet demystifying Go stacktraces at #ultimatego day 3 at @tune. Thanks for leveling us up."

Camilo Aguilar (@c4milo)
"Holy cow, the best lighting talk I have ever seen about mechanical sympathy by @goinggodotnet. Here at #gophercon"

Jessie Frazelle (@frazelledazzell)
"@goinggodotnet you were amazing!!! So enthusiastic!!! Thanks for doing this for everyone!"

Kelsey Hightower (‏@kelseyhightower)
"Day 1 of the [Ultimate] Go workshop was outstanding! Big shoutout to @intel, @golangbridge, and @goinggodotnet for bringing this to Portland."

Katrina Owen (@kytrinyx)
"OH: "You thought you knew Go..." (You do Go? You want to do Go?) You should take this workshop. Seriously.) "

Ian Molee (@ianfoo) "If you're at @GopherCon, get yourself to a session with @goinggodotnet. Superb! Pretty sure his pic appears with the definition of "dynamo.""

Matt Oswalt (@Mierdin)
"Should be mentioned that though I am no expert, I have been using Go for about a year - and this meetup is kicking my ass."

Testimonials

Ana-Maria Lazar, Software Engineer at Sainsbury's
"Intensive crash course in Go that literally takes you to a whole new level. Not only Bill provides lots of examples and exercises to familiarize yourself faster with the language but there is also a lot of information that can be applied to other languages as well. Perfect combination!"

Greg Hammond, Founder & CEO at Best Option Trading
"Bill helped me learn enough Go to work with him and his team to take a program with a lot of complexity, accumulated over years, and make it into an enterprise product. As architect, he made it more extensible, tested, and created an external API. Bill has a gift for writing readable code that is easy to reason about. He demonstrates coding restraint by favoring code that is maintainable, rather than relying upon overly clever solutions. At the same time, he is a performance hawk, always thinking about how to cut milliseconds from runtime. When I began the project with Bill, I was under pressure from both schedule and cost perspectives. He put in extra effort at the end of the project to deliver what I needed. I highly recommend Bill for his well-written book, his 'Ultimate Go' course, and development work through Ardan Labs."

Susan Dady, Software Engineer - GE Digital
"Rarely will you come across a course as worthwhile as this one. I learned many things relevant and useful in my daily work and William's energy kept me engaged. I came back to work excited to get coding in Go."

Paul Garvey, Software Engineer - GE Digital
"Looking back I am grateful I took the GoLang training course. I had planned to just buy a few books and learned it on my own. In retrospect that would have been a bad decision as I would missed out on all the pitfalls, best practices, practical exercises and discussions the instructor imparted from his years of experience in the field, writing a book and blogging with other gophers. In the end I felt I learn more in 3 days then I could reading books and learning GoLang on my own and all my colleagues who took the course all share this view. We also share the view that Bill the instructor brought an enthusiasm and energy to the course that made a really technical course easy to learn. I would recommend anyone who want to learn Go to sign up with Mr Kennedy. At the end of the course you will feel like you are ready to rewrite all your old apps in Go :-)"

Richard Stanley, Software Engineer - GE Digital
"Not only does Bill deeply understands the technical details of Go, he also can explain them in an effective, enthusiastic manner that helped me retain somewhat dry material. His passion for the language and its capabilities are obvious through out his training."

Shalab Goel, Ph.D.
"It was a pleasure taking this course — learning lot of "dry" stuff in such animated and enthusiastic environment. The exercises were spot on for building what you called as "memory muscle. I have good amount of background in conventional multithreaded and distributed environments, but I have not put that knowledge to use more recently; so it was good refresher from that point of view as well. From Yuck to completely Wow-ed is how I will like to describe my respect for Go within three days. I knew nothing about GO before the course."

Geoff Clitheroe (@gclitheroe)
"Your training is awesome! Myself and three colleagues recently caught variations of the training at GopherCon and OSCON. We all thought the Bootcamp was the best thing at any of these conferences (and I went to both). Awesome work to Bill for presenting and anyone involved in developing the training. I really liked the structure, emphasis on deeper understanding, me doing a small number of examples to emphasize this, and general content. Night and day to other training which is to often just watching someone else live code. Great work."

ACL Services (@ACLServices)
"I'd just like to thank you again for just a phenomenal training session. The feedback from everyone was overwhelmingly positive. You probably could tell first hand that there were skeptics at first, but you've turned many into golang converts and we are really excited in growing golang adoption internally."

Joshua Shuster (@naysaier)
"I would consider Ardan Studio's 3 day course to be invaluable. Bill and his staff, being some of the foremost authorities in the Go language, were able to make many of the complex go topics understandable. Covering everything from memory management, all the way up to building concurrency programs and web API's. It has given me the knowledge to write idiomatic Go, and make the best use of its features. I would highly their courses to anyone new to Go, or to anyone wanting to widen their existing knowledge."

Neeru Dwivedi
"I attended the one day workshop by Bill Kennedy from Ardan Labs. I was in for a surprise as before the workshop I was concerned whether I would understand concepts and whether I would be able to follow along. Bill has this wonderful way of explaining concepts and his knowledge on the concepts is so good that, I didn't feel that I was learning something new & complicated. The Go Workshop got me started on the Go language. This workshop is perfect for beginners and anyone who wants to learn more about Go. I highly recommend this."

Todd Rafferty (@webrat)
"I highly recommend William Kennedy / Ardan Lab for Go Training. William is extremely passionate about the Go language and his energy feeds into his training. Very professional, very informative. My favorite section of his training, if I had to pick, was the segment on MultiWriters. I highly recommend a 3 day course, over a 2 day course. Even after the classes were over, William was always responsive with additional questions via various social media channels."

Georgi Knox (@GeorgiCodes)
"The Intro to Go Workshop enabled me to come into class with very little knowledge of Go and leave having a firm grasp of the key concepts of the language. Each topic was followed up with hands-on coding problems which helped to solidify what I was learning. My teacher Bill was not only approachable, but very excited about the language and his enthusiasm was contagious. I enjoyed that we talked about some of the lower level implementation details of Go which was something that I had found lacking from some books on the language. Overall I would highly recommend this workshop to anyone looking to learn Go quickly and effectively."

Jackie Heitzer (@JackieHeitzer)
"Great course and a perfect introduction to Go. Bill is very friendly and extremely knowledgeable about the Go language and I am excited to speak with him about Go in the future. The training had an excellent format with hands on coding examples. After the class I feel as though I have a better understanding of the key concepts, especially how pointers work. I highly recommend this course to anyone interested in learning more about Go."

Schedule

If you are interested in holding an event in your area please let me know. I will work with you and your organization to help make it happen. I can talk in person or over Google Hangout.

2017

	Type		Ultimate	Venue					City, ST				Month		Trainer				Url
	================================================================================================================
	Public		Adv Go		Golab					Florance, IT 			January 	Bill Kennedy 		http://golab.io/
	Corporate	Go			GNS Science				Wellington, NZ 			January 	Bill Kennedy
	GoBridge	Go 			Framingham 				Framingham, MA			February 	Bill Kennedy 		
	Public 		Adv Go 		GopherCon India 		Pune, India 			February 	Bill Kennedy 		http://www.gophercon.in/go-workshop/  
	Public 		Data 		GopherCon India 		Pune, India 			February 	Daniel Whitenack	
	Public 		Adv Go 		SUNY Potsdam 			Potsdam, NY 			March 		Bill Kennedy  
	Public 		Adv Go 		GDG DevFest 			Siberia, Russia			April 		Bill Kennedy  
	Public 		Adv Go 		China Conference 		China					April 		Bill Kennedy  
	Public 		Adv Go 		Singapore Conference 	Singapore				May 		Bill Kennedy  
	Public		Go			GopherCon				Denver, CO  			July		Cory LaNou
	Public		Data		GopherCon				Denver, CO  			July		Daniel Whitenack  

2016

	Type		Ultimate	Venue					City, ST				Month		Trainer				Url
	================================================================================================================
	Corporate	Go			Capital One 			Richmond, VA 			January		Bill Kennedy
	Corporate	Go			BOT 					Miami, FL 				January		Bill Kennedy
	Corporate	Go			CISCO 					Lawrenceville, GA 		February	Bill Kennedy
	Public		Go			Bol 					Utrecht, Amsterdam		March		Bill Kennedy
	Corporate	Go			GE 						San Ramon, CA 			March		Bill Kennedy
	Free		Go			WWG						SF, CA 					March		Bill Kennedy
	Public		Go 			Fidelity				SLC, UT 				March		Bill Kennedy
	Corporate	Go			SAS 					Cary, NC 				March		Bill Kennedy
	Public		Go			Ardan					Minneapolis, MN			March		Cory LaNou
	Public		Go			Minio					SF, CA 					April		Bill Kennedy
	Corporate	Go			Salesforce 				Dublin, Ireland 		April		Kevin Gillette
	Corporate	Go			CapitalOne 				Richmond, VA 			April		Bill Kennedy
	Corporate	Go			HP Enterprise 			Seattle, WA 			May			Cory LaNou
	Corporate	Go			CISCO 					Lawrenceville, GA 		May			Bill Kennedy
	Corporate	Go			Rackspace 				San Antonio, TX 		May			Bill Kennedy
	Public		Go			OSCON 					Portland, OR  			May			Bill Kennedy
	Corporate	Go			Intel 					Hillsboro, OR 			May			Bill Kennedy
	Corporate	Go			Staples 				Framingham, MA  		May			Bill Kennedy
	Public		Go 			Halio					London, England 		June		Bill Kennedy
	Public		Go 			Shutterfly				Phoenix, AZ  			June		Bill Kennedy
	Public		Go			GopherCon				Denver, CO  			July		Cory LaNou
	Public		Adv Go		GopherCon				Denver, CO  			July		Bill Kennedy
	Corporate	Go			Red Ventures 			South Carolina	 		August		Bill Kennedy
	Public		Go			GolangUK 				London, England 		August		Cory LaNou
	Public		Adv Go		GolangUK 				London, England 		August		Bill Kennedy
	Corporate	Go			Tune 					Seattle, WA	 			August		Bill Kennedy
	Corporate	Go			Nordstroms				Seattle, WA	 			September	Bill Kennedy
	Corporate	Go			Viacom					NYC, NY					September	Bill Kennedy
	Corporate	Go			CapitalOne				McLean, VA	 			September	Bill Kennedy
	Free		Go			WWG						London, England			October		Bill Kennedy 		https://skillsmatter.com/conferences/8373-women-who-go-workshop-with-bill-kennedy
	Public		Adv Go		Rackspace				SF, CA					October		Bill Kennedy		https://www.eventbrite.com/e/advanced-ultimate-go-san-francisco-oct-2016-tickets-26919899143
	Free		Go			WWG						SF, CA					October		Bill Kennedy		http://www.meetup.com/Women-Who-Go/events/232670825
	Corporate	Go			Traderev				Toronto, Canada 		October		Bill Kennedy 		http://www.helpingcanadacode.com
	Public		Go			dotGo					Paris, France			October		Ernesto Jimenez
	Public		Kubernetes	OSCON 					London, England			October		Brian Ketelsen		http://conferences.oreilly.com/oscon/open-source-eu/public/schedule/detail/54454
	Corporate	Go			Centralway				Zürich, Switzerland	 October	 Bill Kennedy  
	Public		Go			GothamGo				NYC, NY					November	Bill Kennedy
	Public		Go			Dev Fest				NYC, NY					November	Bill Kennedy 		https://generalassemb.ly/education/devfestnyc-ultimate-go-training/new-york-city/30237
	Public		Data		GDG DevFest				Siberia, Russia			November	Daniel Whitenack	https://devfest.gdg.org.ru/en/
	Corporate	Go			Hootsuite				Vancouver, Canada		November	Bill Kennedy
	Corporate	Go			CISCO 					San Jose, CA 			November	Cory LaNou
	Corporate	Go			Viacom					NYC, NY					December	Bill Kennedy		
	Corporate	Go			Intel					Zapopan, Mexico			December	Ernesto Jimenez		

Past Years

	2015 : 33 Events
	2014 :  3 Events

Contact Information

William Kennedy
Ardan Studios
12973 SW 112 ST, Suite 153
Miami, FL 33186
bill@ardanlabs.com


Running Docker

Install Docker Toolbox
https://www.docker.com/products/docker-toolbox

Build Docker container

# current path is the source root where Dockerfile exists
docker build -t ardanlabs-gotraining .

Start Docker container

docker run -it -v "$PWD":/go/src/github.com/ardanlabs/gotraining ardanlabs-gotraining
# or start container with downloaded gotraining in the image
docker run -it ardanlabs-gotraining

Remove gotraining container and image

docker rm -f $(docker ps -a | grep ardanlabs-gotraining | awk '{print $1}')
docker rmi -f $(docker images -a | grep ardanlabs-gotraining | awk '{print $1}')

All material is licensed under the Apache License Version 2.0, January 2004.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
courses
intro/quick/hello
Sample program to show off Go and check programming environment.
Sample program to show off Go and check programming environment.
intro/quick/helloHTTP
Sample program to show off Go and check programming environment.
Sample program to show off Go and check programming environment.
quick_tour/code/cli
Sample program to show the basics of using flags.
Sample program to show the basics of using flags.
quick_tour/code/concurrency
Basic command line program that accepts arguments.
Basic command line program that accepts arguments.
quick_tour/code/http/webserver
Program to show how to run a basic web server.
Program to show how to run a basic web server.
quick_tour/code/http/webserver1
Program to show how to run a basic web server with routing.
Program to show how to run a basic web server with routing.
quick_tour/code/http/webserver2
Program to show how to run a basic web server with routing and templating.
Program to show how to run a basic web server with routing and templating.
starter-kits
http/cmd/apid
This program provides a sample web service that implements a RESTFul CRUD API against a MongoDB database.
This program provides a sample web service that implements a RESTFul CRUD API against a MongoDB database.
http/internal/sys/web
Package web provides a thin layer of support for writing web services.
Package web provides a thin layer of support for writing web services.
tools
mpl
Package main provides a CLI tool to automatically update Go Playground links within a training markdown file
Package main provides a CLI tool to automatically update Go Playground links within a training markdown file
topics
api/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.
api/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.
api/composition/decoupling/example1
Sample program demonstrating struct composition.
Sample program demonstrating struct composition.
api/composition/decoupling/example2
Sample program demonstrating decoupling with interfaces.
Sample program demonstrating decoupling with interfaces.
api/composition/decoupling/example3
Sample program demonstrating interface composition.
Sample program demonstrating interface composition.
api/composition/decoupling/example4
Sample program demonstrating decoupling with interface composition.
Sample program demonstrating decoupling with interface composition.
api/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.
api/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.
api/composition/grouping/example2
This is an example of using composition and interfaces.
This is an example of using composition and interfaces.
api/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.
api/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.
api/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.
api/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.
api/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.
api/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.
api/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.
api/error_handling/example4
Package example5 provides code to show how to implement behavior as context.
Package example5 provides code to show how to implement behavior as context.
api/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.
api/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.
api/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.
api/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.
api/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.
api/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.
cli/cobra
This program provides a sample building cli tooling.
This program provides a sample building cli tooling.
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
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/example2
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/example3
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/example4
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/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/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 the atomic package functions Store and Load to provide safe access to numeric types.
Sample program to show how to use the atomic package functions Store and Load to provide safe access to numeric types.
concurrency/data_race/example4
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/example5
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/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/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 but deal with write latencies by throwing away log data.
Package logger shows a pattern of using a buffer to handle log write continuity but deal 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.
data_science/caching/example1
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./example1 Sample program to show how to cache data from an API.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./example1 Sample program to show how to cache data from an API.
data_science/caching/example2
Sample program to save data from an API in an embedded k/v store.
Sample program to save data from an API in an embedded k/v store.
data_science/caching/exercises/exercise1
Sample program to show how to cache data from an API, and then use that data in analyzing a dataset.
Sample program to show how to cache data from an API, and then use that data in analyzing a dataset.
data_science/caching/exercises/template1
Sample program to show how to cache data from an API, and then use that data in analyzing a dataset.
Sample program to show how to cache data from an API, and then use that data in analyzing a dataset.
data_science/classification_kNN/example1
Sample program to profile our data set.
Sample program to profile our data set.
data_science/classification_kNN/example2
Sample program to train and validate a kNN model with cross validation.
Sample program to train and validate a kNN model with cross validation.
data_science/classification_kNN/exercises/exercise1
Program for finding an optimal k value for a k nearest neighbors model.
Program for finding an optimal k value for a k nearest neighbors model.
data_science/classification_kNN/exercises/template1
Template programe for finding an optimal k value for a k nearest neighbors model.
Template programe for finding an optimal k value for a k nearest neighbors model.
data_science/classification_trees/example1
Sample program to train and validate a decision tree model with cross validation.
Sample program to train and validate a decision tree model with cross validation.
data_science/classification_trees/example2
Sample program to determine an optimal value of the decision tree pruning parameter.
Sample program to determine an optimal value of the decision tree pruning parameter.
data_science/classification_trees/exercises/exercise1
Sample program to visualize the accuracy of models with various decision tree pruning parameters.
Sample program to visualize the accuracy of models with various decision tree pruning parameters.
data_science/classification_trees/exercises/template1
Sample program to visualize the accuracy of models with various decision tree pruning parameters.
Sample program to visualize the accuracy of models with various decision tree pruning parameters.
data_science/csv_cleaning/example1
Sample program to read in records from an example CSV file to a dataframe.
Sample program to read in records from an example CSV file to a dataframe.
data_science/csv_cleaning/example2
Sample program to create a dataframe and subsequently filter and subset the dataframe.
Sample program to create a dataframe and subsequently filter and subset the dataframe.
data_science/csv_cleaning/example3
Sample program to register of CSV file as an in-memory SQL database and execute SQL queries on the CSV.
Sample program to register of CSV file as an in-memory SQL database and execute SQL queries on the CSV.
data_science/csv_cleaning/example4
Sample program to register of CSV file as an in-memory SQL database and execute SQL queries on the CSV.
Sample program to register of CSV file as an in-memory SQL database and execute SQL queries on the CSV.
data_science/csv_cleaning/exercises/exercise1
Sample program to read in a CSV, create three filtered datasets, and save those datasets to three separate files.
Sample program to read in a CSV, create three filtered datasets, and save those datasets to three separate files.
data_science/csv_cleaning/exercises/exercise2
Sample program to register of CSV file as an in-memory SQL database, sum float columns, and output a process CSV.
Sample program to register of CSV file as an in-memory SQL database, sum float columns, and output a process CSV.
data_science/csv_cleaning/exercises/template1
Sample program to read in a CSV, create three filtered datasets, and save those datasets to three separate files.
Sample program to read in a CSV, create three filtered datasets, and save those datasets to three separate files.
data_science/csv_cleaning/exercises/template2
Sample program to register of CSV file as an in-memory SQL database, sum float columns, and output a process CSV.
Sample program to register of CSV file as an in-memory SQL database, sum float columns, and output a process CSV.
data_science/csv_io/example1
Sample program to read in records from an example CSV file.
Sample program to read in records from an example CSV file.
data_science/csv_io/example2
Sample program to read in records from an example CSV file, and catch an unexpected extra field in the data.
Sample program to read in records from an example CSV file, and catch an unexpected extra field in the data.
data_science/csv_io/example3
Sample program to read in records from an example CSV file, and catch an unexpected types in a single column.
Sample program to read in records from an example CSV file, and catch an unexpected types in a single column.
data_science/csv_io/example4
Sample program to save records to a CSV file.
Sample program to save records to a CSV file.
data_science/csv_io/exercises/exercise1
Sample program to read in records from an example CSV file, and catch an unexpected types in any of the columns.
Sample program to read in records from an example CSV file, and catch an unexpected types in any of the columns.
data_science/csv_io/exercises/exercise2
Sample program to read in records from an example CSV file, catch an unexpected types in any of the columns, and output processed data to a different CSV file.
Sample program to read in records from an example CSV file, catch an unexpected types in any of the columns, and output processed data to a different CSV file.
data_science/csv_io/exercises/template1
Sample program to read in records from an example CSV file, and catch an unexpected types in any of the columns.
Sample program to read in records from an example CSV file, and catch an unexpected types in any of the columns.
data_science/csv_io/exercises/template2
Sample program to read in records from an example CSV file, catch an unexpected types in any of the columns, and output processed data to a different CSV file.
Sample program to read in records from an example CSV file, catch an unexpected types in any of the columns, and output processed data to a different CSV file.
data_science/dimensionality_reduction/example1
Sample program to illustrate the calculation of principal components.
Sample program to illustrate the calculation of principal components.
data_science/dimensionality_reduction/example2
Sample program to visualize the impact of dimensionality reduction.
Sample program to visualize the impact of dimensionality reduction.
data_science/dimensionality_reduction/example3
Sample program to project iris data on to principal components.
Sample program to project iris data on to principal components.
data_science/dimensionality_reduction/exercises/exercise1
Sample program to project iris data on to 3 principal components.
Sample program to project iris data on to 3 principal components.
data_science/dimensionality_reduction/exercises/template1
Sample program to project iris data on to 3 principal components.
Sample program to project iris data on to 3 principal components.
data_science/evaluation/example1
Sample program to calculate an R^2 value.
Sample program to calculate an R^2 value.
data_science/evaluation/example2
Sample program to calculate a mean absolute error.
Sample program to calculate a mean absolute error.
data_science/evaluation/example3
Sample program to calculate a accuracy.
Sample program to calculate a accuracy.
data_science/evaluation/example4
Sample program to calculate precision.
Sample program to calculate precision.
data_science/evaluation/example5
Sample program to calculate recall.
Sample program to calculate recall.
data_science/evaluation/exercises/exercise1
Sample program to calculate specificity.
Sample program to calculate specificity.
data_science/evaluation/exercises/exercise2
Sample program to calculate a mean squared error.
Sample program to calculate a mean squared error.
data_science/evaluation/exercises/template1
Sample program to calculate specificity.
Sample program to calculate specificity.
data_science/evaluation/exercises/template2
Sample program to calculate a mean squared error.
Sample program to calculate a mean squared error.
data_science/hypothesis_testing/example1
Sample program to calculate expected values.
Sample program to calculate expected values.
data_science/hypothesis_testing/example2
Sample program to calculate a chi-squared value.
Sample program to calculate a chi-squared value.
data_science/hypothesis_testing/example3
Sample program to output the result of the test, based on a critical value.
Sample program to output the result of the test, based on a critical value.
data_science/integrity/example2
Sample program to compare parsing a clean CSV with Go to parsing a clean CSV with python.
Sample program to compare parsing a clean CSV with Go to parsing a clean CSV with python.
data_science/integrity/example4
Sample program to illustrate maintaining integrity with Go in the presence of messy data.
Sample program to illustrate maintaining integrity with Go in the presence of messy data.
data_science/integrity/exercises/exercise1
Sample program to illustrate maintaining integrity with Go in the presence of messy data.
Sample program to illustrate maintaining integrity with Go in the presence of messy data.
data_science/integrity/exercises/template1
Sample program to illustrate maintaining integrity with Go in the presence of messy data.
Sample program to illustrate maintaining integrity with Go in the presence of messy data.
data_science/json/example1
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./example1 Sample program to show how to unmarshal JSON data from an API.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./example1 Sample program to show how to unmarshal JSON data from an API.
data_science/json/example2
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./example1 Sample program to show how to save JSON data to a file.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./example1 Sample program to show how to save JSON data to a file.
data_science/json/exercises/exercise1
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./exercise1 Sample program to show how to unmarshal JSON data from an API.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./exercise1 Sample program to show how to unmarshal JSON data from an API.
data_science/json/exercises/template1
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./template1 Sample program to show how to unmarshal JSON data from an API.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 go build ./template1 Sample program to show how to unmarshal JSON data from an API.
data_science/matrices/example1
Sample program to read in records from an example CSV file and form a matrix with gonum.
Sample program to read in records from an example CSV file and form a matrix with gonum.
data_science/matrices/example2
Sample program to show modifications to matrices.
Sample program to show modifications to matrices.
data_science/matrices/example3
Sample program to access values within a matrix.
Sample program to access values within a matrix.
data_science/matrices/example4
Sample program to illustrate various ways to format matrix output.
Sample program to illustrate various ways to format matrix output.
data_science/matrices/exercises/exercise1
Sample program to read in records from a CSV file and form a matrix with gonum.
Sample program to read in records from a CSV file and form a matrix with gonum.
data_science/matrices/exercises/template1
Sample program to read in records from a CSV file and form a matrix with gonum.
Sample program to read in records from a CSV file and form a matrix with gonum.
data_science/matrix_operations/example1
Sample program to show basic matrix operations.
Sample program to show basic matrix operations.
data_science/matrix_operations/example2
Sample program to compute the transpose, determinant, and inverse of a matrix.
Sample program to compute the transpose, determinant, and inverse of a matrix.
data_science/matrix_operations/example3
Sample program to solve an eigenvalue/vector problem.
Sample program to solve an eigenvalue/vector problem.
data_science/matrix_operations/example4
Sample program to compute vector and matrix norms.
Sample program to compute vector and matrix norms.
data_science/matrix_operations/exercises/exercise1
Sample program to divide a matrix by its norm.
Sample program to divide a matrix by its norm.
data_science/matrix_operations/exercises/template1
Sample program to divide a matrix by its norm.
Sample program to divide a matrix by its norm.
data_science/regression/example1
Sample program to profile our data set.
Sample program to profile our data set.
data_science/regression/example2
Sample program to investigate correlations between our target and our features.
Sample program to investigate correlations between our target and our features.
data_science/regression/example3
Sample program to create training, test, and holdout data sets.
Sample program to create training, test, and holdout data sets.
data_science/regression/example4
Sample program to train and test a regression model.
Sample program to train and test a regression model.
data_science/regression/example5
Sample program to validate a trained regression model on a holdout data set.
Sample program to validate a trained regression model on a holdout data set.
data_science/regression/exercises/exercise1b
Sample program to train and test a multiple regression model.
Sample program to train and test a multiple regression model.
data_science/regression/exercises/exercise1c
Sample program to validate a trained multiple regression model on a holdout data set.
Sample program to validate a trained multiple regression model on a holdout data set.
data_science/regression/exercises/template1b
Sample program to train and test a multiple regression model.
Sample program to train and test a multiple regression model.
data_science/regression/exercises/template1c
Sample program to validate a trained multiple regression model on a holdout data set.
Sample program to validate a trained multiple regression model on a holdout data set.
data_science/sql/example1
Sample program to connect to and ping a database connection.
Sample program to connect to and ping a database connection.
data_science/sql/example2
Sample program to load the iris dataset into a database.
Sample program to load the iris dataset into a database.
data_science/sql/example3
Sample program to retrieve results from a database.
Sample program to retrieve results from a database.
data_science/sql/example4
Sample program to modify data in a database.
Sample program to modify data in a database.
data_science/sql/exercises/exercise1
Sample program to retrieve results from a database.
Sample program to retrieve results from a database.
data_science/sql/exercises/exercise2
Sample program to delete rows in a database table.
Sample program to delete rows in a database table.
data_science/sql/exercises/template1
Sample program to retrieve results from a database.
Sample program to retrieve results from a database.
data_science/sql/exercises/template2
Sample program to delete rows in a database table.
Sample program to delete rows in a database table.
data_science/stats_measures/example1
Sample program to calculate means, modes, and medians.
Sample program to calculate means, modes, and medians.
data_science/stats_measures/example2
Sample program to calculate means, modes, and medians.
Sample program to calculate means, modes, and medians.
data_science/stats_measures/example3
Sample program to calculate standard deviation and variance.
Sample program to calculate standard deviation and variance.
data_science/stats_measures/example4
Sample program to calculate quantiles
Sample program to calculate quantiles
data_science/stats_measures/exercises/exercise1
Sample program to calculate both central tendency and statistical dispersion measures for the iris dataset.
Sample program to calculate both central tendency and statistical dispersion measures for the iris dataset.
data_science/stats_measures/exercises/template1
Sample program to calculate both central tendency and statistical dispersion measures for the iris dataset.
Sample program to calculate both central tendency and statistical dispersion measures for the iris dataset.
data_science/stats_vizualization/example1
Sample program to generate a histogram of a normal distribution.
Sample program to generate a histogram of a normal distribution.
data_science/stats_vizualization/example2
Sample program to generate a histogram of the iris data variables.
Sample program to generate a histogram of the iris data variables.
data_science/stats_vizualization/example3
Sample program to generate a box plot of example distributions.
Sample program to generate a box plot of example distributions.
data_science/stats_vizualization/example4
Sample program to generate box plots of the iris data variables.
Sample program to generate box plots of the iris data variables.
data_science/stats_vizualization/exercises/exercise1
Sample program to generate a box plot of diabetes bmi values.
Sample program to generate a box plot of diabetes bmi values.
data_science/stats_vizualization/exercises/exercise2
Sample program to generate a histogram of diabetes bmi values.
Sample program to generate a histogram of diabetes bmi values.
data_science/stats_vizualization/exercises/template1
Sample program to generate a box plot of diabetes bmi values.
Sample program to generate a box plot of diabetes bmi values.
data_science/stats_vizualization/exercises/template2
Sample program to generate a histogram of diabetes bmi values.
Sample program to generate a histogram of diabetes bmi values.
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/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/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/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
Copy the code from the template.
Copy the code from the template.
language/embedding/exercises/template1
Copy the code from the template.
Copy the code from the template.
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/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 method sets can affect behavior.
Sample program to show how method sets can affect behavior.
language/interfaces/example5
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/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 declare, initialize and iterate over a map.
Sample program to show how to declare, initialize and iterate over a map.
language/maps/example2
Sample program to show how to declare and initialize a map using a map literal and delete a key.
Sample program to show how to declare and initialize a map using a map literal and delete a 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/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 show variables stay on or escape from the stack.
Sample program to show variables stay on or escape from the stack.
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/receiver_choices/exercises/exercise1
Declare a struct type named Point with two fields, X and Y of type int.
Declare a struct type named Point with two fields, X and Y of type int.
language/receiver_choices/exercises/template1
Declare a struct type named Point with two fields, X and Y of type int.
Declare a struct type named Point with two fields, X and Y of type int.
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/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/type_conversions/example1
Sample program to show how to declare and use a named type.
Sample program to show how to declare and use a named type.
language/type_conversions/example2
Sample program to show a idiomatic use of named types from the standard library and how they work in concert with other Go concepts.
Sample program to show a idiomatic use of named types from the standard library and how they work in concert with other Go concepts.
language/type_conversions/example3
Sample program to show a idiomatic use of named types from the standard library and how they work in concert with other Go concepts.
Sample program to show a idiomatic use of named types from the standard library and how they work in concert with other Go concepts.
language/type_conversions/example4
Sample program to show a idiomatic use of named types from the standard library and how they work in concert with other Go concepts.
Sample program to show a idiomatic use of named types from the standard library and how they work in concert with other Go concepts.
language/type_conversions/exercises/exercise1
Declare a named type called counter with a base type of int.
Declare a named type called counter with a base type of int.
language/type_conversions/exercises/template1
Declare a named type called counter with a base type of int.
Declare a named type called counter with a base type of int.
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.
nats/basic/async
Sample program to show to connect and publish/subscribe for messages.
Sample program to show to connect and publish/subscribe for messages.
nats/basic/channels
Sample program to show to connect and publish/subscribe for messages.
Sample program to show to connect and publish/subscribe for messages.
nats/basic/queue
Sample program to show to using the queuing functionality to allow a round robin of services to handle messages.
Sample program to show to using the queuing functionality to allow a round robin of services to handle messages.
nats/basic/request
Sample program to show to connect and publish/subscribe requests.
Sample program to show to connect and publish/subscribe requests.
nats/basic/sync
Sample program to show to connect and publish/subscribe for messages.
Sample program to show to connect and publish/subscribe for messages.
nats/chat
Sample program to show how to build a very basic chat client using NATS.
Sample program to show how to build a very basic chat client using NATS.
nats/services/basic/db
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 Sample program to show what a basic web service might look like.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 Sample program to show what a basic web service might look like.
nats/services/basic/web
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 Sample program to show what a basic web service might look like.
All material is licensed under the Apache License Version 2.0, January 2004 http://www.apache.org/licenses/LICENSE-2.0 Sample program to show what a basic web service might look like.
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 of the Context package.
Sample program to show how to use the WithCancel function of the Context package.
packages/context/example3
Sample program to show how to use the WithDeadline function of the Context package.
Sample program to show how to use the WithDeadline function of the Context package.
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 that shows how to use the context package to avoid leaking goroutines.
Sample program that shows how to use the context package to avoid leaking goroutines.
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.
profiling/godebug/gctrace
Sample program to see what a memory leak looks like.
Sample program to see what a memory leak looks like.
profiling/godebug/schedtrace
Sample program that implements a simple web service that will allow us to explore how to use the schedtrace.
Sample program that implements a simple web service that will allow us to explore how to use the schedtrace.
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/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/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/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/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.
web/apis/example1
Sample program to show how to create a simple web api with different versions.
Sample program to show how to create a simple web api with different versions.
web/apis/example2
Sample program to show how to have a single route for the api but have access to either through configuration.
Sample program to show how to have a single route for the api but have access to either through configuration.
web/apis/example3
Sample program to show how to create a basic CRUD based web api for customers.
Sample program to show how to create a basic CRUD based web api for customers.
web/apis/example4
Sample program to show how to create a basic CRUD based web api for customers with a middleware component.
Sample program to show how to create a basic CRUD based web api for customers with a middleware component.
web/auth/example1
Sample program to show how to apply basic authentication with the standard library for your web request.
Sample program to show how to apply basic authentication with the standard library for your web request.
web/auth/example2
Sample program to show how to apply basic authentication with the goth package for your web request.
Sample program to show how to apply basic authentication with the goth package for your web request.
web/basics/example1
Sample program to show how to create a simple web service.
Sample program to show how to create a simple web service.
web/basics/example2
Sample program to show how to create and use your own mux.
Sample program to show how to create and use your own mux.
web/basics/example3
Sample program to show how to implement your own Handler.
Sample program to show how to implement your own Handler.
web/basics/example4
Sample program to show how to implement your own App Handler that can use any provided handler function.
Sample program to show how to implement your own App Handler that can use any provided handler function.
web/basics/example5
Sample program to show how to run the server using a goroutine and create goroutines to run multiple requests concurrently.
Sample program to show how to run the server using a goroutine and create goroutines to run multiple requests concurrently.
web/consuming/example6
Sample program to how to use JWT for authentication.
Sample program to how to use JWT for authentication.
web/context/example1
Sample program to show how to work with the Context package.
Sample program to show how to work with the Context package.
web/context/example2
Sample program to show how to work with the Gorilla Context package.
Sample program to show how to work with the Gorilla Context package.
web/middleware/example1
Sample program to show how to apply middleware.
Sample program to show how to apply middleware.
web/middleware/example2
Sample program to show how to apply middleware using negroni.
Sample program to show how to apply middleware using negroni.
web/muxers/example1
Sample program to show how to use the pat router.
Sample program to show how to use the pat router.
web/muxers/example2
Sample program to show how to use the httprouter router.
Sample program to show how to use the httprouter router.
web/muxers/example3
Sample program to show how to use the echo toolkit.
Sample program to show how to use the echo toolkit.
web/posts/example1
Sample program to show how to handle different verbs.
Sample program to show how to handle different verbs.
web/posts/example2
Sample program to show how to handle forms using a single handler for the GET and POST calls.
Sample program to show how to handle forms using a single handler for the GET and POST calls.
web/posts/example3
Sample program to show how to handle forms with JSON.
Sample program to show how to handle forms with JSON.
web/posts/example4
Sample program to show how to handle the uploading of file content in a request.
Sample program to show how to handle the uploading of file content in a request.
web/rest/example1
Sample program to show how to use a regex to handle REST based URL schemas and routes.
Sample program to show how to use a regex to handle REST based URL schemas and routes.
web/serializers/example1
Sample program to show how to use the JSON encoder.
Sample program to show how to use the JSON encoder.
web/serializers/example2
Sample program to show how to implement the json.Marshaler interface to dictate the marshaling.
Sample program to show how to implement the json.Marshaler interface to dictate the marshaling.
web/serializers/example3
Sample program to show how to use the XML encoder.
Sample program to show how to use the XML encoder.
web/serializers/example4
Sample program to show how to implement the xml.Marshaler interface to dictate the marshaling.
Sample program to show how to implement the xml.Marshaler interface to dictate the marshaling.
web/sessions_cookies/example1
Sample program to show how to use sessions in your web app.
Sample program to show how to use sessions in your web app.
web/sessions_cookies/example2
Sample program to show how to use a cookie in your web app.
Sample program to show how to use a cookie in your web app.
web/sockets/example1
Sample program on how to use the Google web socket package to bind HTTP requests.
Sample program on how to use the Google web socket package to bind HTTP requests.
web/sockets/example2
Sample program on how to use the Gorilla web socket package to bind HTTP requests.
Sample program on how to use the Gorilla web socket package to bind HTTP requests.
web/templates/example1
Sample program to show how to use create, parse and execute a simple template.
Sample program to show how to use create, parse and execute a simple template.
web/templates/example2
Sample program to show how to use create, parse and execute a template with simple data processing.
Sample program to show how to use create, parse and execute a template with simple data processing.
web/templates/example3
Sample program to show how to use create, parse and execute a template with simple data processing.
Sample program to show how to use create, parse and execute a template with simple data processing.
web/templates/example4
Sample program to show how to use create, parse and execute a template with simple data processing.
Sample program to show how to use create, parse and execute a template with simple data processing.
web/templates/example5
Sample program to show how to use create, parse and execute a template with simple data processing.
Sample program to show how to use create, parse and execute a template with simple data processing.
web/templates/example6
Sample program to show how to use create, parse and execute a template with simple data processing.
Sample program to show how to use create, parse and execute a template with simple data processing.
web/templates/example7
Sample program to show how to serve up static files from a web application and deliver a home page.
Sample program to show how to serve up static files from a web application and deliver a home page.
web/templates/example8
Sample program to show how to bundle assets, static files, etc into web application and access these bundled resources.
Sample program to show how to bundle assets, static files, etc into web application and access these bundled resources.

Jump to

Keyboard shortcuts

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