Go to file
Mark Blows 33a85132f9 modified: utilities.go
deleted:    vendor/golang.org/x/exp/LICENSE
	deleted:    vendor/golang.org/x/exp/PATENTS
	deleted:    vendor/golang.org/x/exp/constraints/constraints.go
	deleted:    vendor/modules.txt
2023-02-26 20:42:58 +11:00
resources new file: files.go 2023-02-10 16:17:19 +11:00
tools new file: tools/download_go.py 2023-02-10 21:35:03 +11:00
LICENSE Update 'LICENSE' 2023-02-10 18:49:29 +11:00
README.md modified: README.md 2023-02-10 18:21:34 +11:00
files.go new file: files.go 2023-02-10 16:17:19 +11:00
go.mod modified: go.mod 2023-02-10 22:55:40 +11:00
go.sum modified: go.mod 2023-02-10 22:55:40 +11:00
random.go modified: random.go 2023-02-10 21:20:34 +11:00
slices.go modified: slices.go 2023-02-13 17:10:28 +11:00
strings.go new file: files.go 2023-02-10 16:17:19 +11:00
utilities.go modified: utilities.go 2023-02-26 20:42:58 +11:00

README.md

Go Helper Library For Kids

This repository contains code that aims to make learning Go programming considerably less painful for children and other beginners. It contains a number of convenience functions and other features that come built-in with simpler languages like Python, and hopefully eases the Golang learning curve a little 🙂.

Go is a wonderful, modern cross-platform language for teaching, is almost as easy to pick up as Python or Ruby, and the elegant simplicity of the syntax makes it a joy to work with. Go is an excellent choice for anyone wishing to gain a better understanding of statically-typed, compiled languages. This repository is currently a work in progress and a companion to my (unfinished) programming book for kids.

Getting started and Installation

To import this library, simply type the following into the terminal:

go get git.paleblue.cloud/mark/go4kids

To use it in your code, add the following to the top of your Go file(s), and use it like so:

package main

import (
	"fmt"

	g4k "git.paleblue.cloud/mark/go4kids"
)

func main() {
	greeting := "Hello everyone! I am learning Go!"
	fmt.Println(g4k.ReverseString(greeting))
}
!oG gninrael ma I !enoyreve olleH

Try it


Support

For help, support or suggestions, feel free to shoot me an email at mark@paleblue.cloud. This is a personal project, but I'm open to suggestions for improvement :)

Roadmap

  • Implement basic functions to help the youngsters begin their Go journey.

  • Implement some more complex functions and other data structures to avoid re-inventing the wheel.

  • TODO

Contributing

This is a personal project that is probably of little interest to anyone yet, but suggestions for improvement are always welcome.

Licenses

All source code is released under The MIT License, and any other original materials are licensed under the Creative Commons BY-NC 4.0. Other resources contained in this document and any web-pages and/or information linked to remain the intellectual property of the original authors. Information copied or adapted from these sources is used under the terms of their respective licences, and I have attempted to adhere to the principles of acceptable use where any ambiguity exists.

I have given full credit to all original authors wherever possible, and encourage the reader to browse the original sources of any or all of the information included. These source materials contain a wealth of fascinating in-depth information, explained far better than I could ever hope to achieve.

Disclaimer

I take full responsibility for any inaccuracies, misunderstandings, misinterpretations, omissions, and plain old stupidity contained within my code or the book. I take great delight in writing about the fascinating world of technology, but sadly the world always finds ways to make an idiot of me. If anything seems wrong, correct me via email, and check the great sources in the next section.


Resources

Websites

  1. Official Go Documentation, the Standard Library reference, and the Go FAQ.

  2. The Go Blog also has some wonderfully in-depth articles on Go's inner workings. For example, this article on the internal magic of slices and arrays, this one on how strings and runes work underneath, or this one on how maps work internally. It may sound boring, but is vital knowledge if you want to be a better programmer.

  3. DevDocs (Much like the Standard Library reference above, but much faster and easier to read. It's not just Go either, it has everything)

  4. Effective Go

  5. Go By Example (Excellent resource for when you just want answers now)

  6. Go Web Examples (Very good web-focused tutorials)

  7. Golang Programs

  8. Golang By Example

  9. Golang Docs

  10. Calhoun.io and Gophercises

  11. A Tour of Go

  12. GolangBot

  13. The Go Forum

  14. GoSamples

  15. Golang Code

  16. Awesome Go (A curated list of Go frameworks, libraries, and software)

  17. Golang News

  18. Golang Weekly (Weekly Go newsletter sent to your email)

  19. Awesome Go Weekly (Another weekly Go newsletter)

  20. Applied Go

Free (or free-ish) Books

Note: Although some free Go books are a little older, Go has a conservative approach to language changes and is committed to backwards-compatibility. Aside from updates to best-practices, little has changed in the past decade, and 99% of the principles are still valid.

  1. Go 101, and its GitHub repository: Excellent and up-to-date book that can even be installed and read offline with go install go101.org/go101@latest, then go101 to start the web server.

  2. Go, From the Beginning (Up-to-date, very thorough)

  3. Practical Go Lessons (Up-to-date, free web version)

  4. How to Code in Go (Fantastic tutorial series by DigitalOcean. Web, PDF or EPUB, but web is best)

  5. The Web-Dev-Golang-Anti-Textbook, and its GitHub repository. Excellent book about Go web development.

  6. The Little Go Book

  7. An Introduction to Programming in Go

  8. Go Bootcamp

  9. Learning Go

  10. Go for JavaScript Developers

Free Videos

  1. Learn Go Programming - Golang Tutorial for Beginners (freeCodeCamp, 7 hours)

  2. Learn Go Programming by Building 11 Projects Full Course (freeCodeCamp, 8.5 hours)

  3. Golang Tutorial for Beginners | Full Go Course (YouTube, ~3.5 hours)

  4. Golang Dojo (YouTube channel)

  5. Golang Tutorial : Go Full Course (Derek Banas, ~3.5 Hours)

  6. Go / Golang Crash Course (Traversy Media, ~1.5 hours)

  1. Go Bootcamp: Master Golang with 1000+ Exercises and Projects

  2. Go (Golang) Programming: The Complete Go Bootcamp 2023

Tools

  1. Go Playground (Run Go in the browser and try out code)

  2. Better Go Playground (As above, but much nicer)

  3. JSON-To-Go (Converts JSON to Go structs automatically, also available as a VS Code extension. You'll thank me later 😏)