All Projects → SimonWaldherr → Golang Examples

SimonWaldherr / Golang Examples

Licence: mit
Go(lang) examples - (explain the basics of #golang)

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Golang Examples

Golang For Nodejs Developers
Examples of Golang compared to Node.js for learning
Stars: ✭ 2,698 (+152.15%)
Mutual labels:  learning, examples, howto
Website
The train engine powering the Coding Train website
Stars: ✭ 5,313 (+396.54%)
Mutual labels:  learning, education
Hypatia
A JavaScript open source LMS (eLearning platform) for MOOCs and online courses
Stars: ✭ 478 (-55.33%)
Mutual labels:  learning, education
Processing Android
Processing mode and core library to create Android apps with Processing
Stars: ✭ 643 (-39.91%)
Mutual labels:  learning, education
Futurecoder
A platform for beginners to learn programming in Python
Stars: ✭ 363 (-66.07%)
Mutual labels:  learning, education
Learning Rust
Rust 学习之路 > Rust Programming Tutorial, include articles, interview, example, problems.
Stars: ✭ 376 (-64.86%)
Mutual labels:  learning, examples
A Tale Of Three Lists
Comparing various async patterns for a single demo
Stars: ✭ 639 (-40.28%)
Mutual labels:  learning, education
Blog
刘博文(Berwin),花名“玖五”,畅销书《深入浅出Vue.js》作者、Speaker、阿里巴巴集团前端技术专家,天猫双11大促会场消防员、现负责包含天猫双11在内的超大型营销活动的终端渲染架构与专项PM。
Stars: ✭ 3,773 (+252.62%)
Mutual labels:  learning, education
Udacity Nanodegrees
🎓 List of Udacity Nanodegree programs with links to the free courses in their curricula
Stars: ✭ 5,893 (+450.75%)
Mutual labels:  learning, education
Py2rs
A quick reference guide for the Pythonista in the process of becoming a Rustacean
Stars: ✭ 690 (-35.51%)
Mutual labels:  learning, examples
Teaching App Dev Swift
DEPRECATED. Instructor lesson plans that accompany Xcode projects, for guiding in-class experiential learning.
Stars: ✭ 699 (-34.67%)
Mutual labels:  learning, education
Learn Something Every Day
📝 A compilation of everything that I learn; Computer Science, Software Development, Engineering, Math, and Coding in General. Read the rendered results here ->
Stars: ✭ 362 (-66.17%)
Mutual labels:  learning, education
Anki Android
AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
Stars: ✭ 4,425 (+313.55%)
Mutual labels:  learning, education
Math Worksheet Generator
Create basic addition, subtraction, multiplication and division practice questions with the answer sheet
Stars: ✭ 438 (-59.07%)
Mutual labels:  learning, education
Processing Docs
Processing reference, examples, tutorials, and website
Stars: ✭ 346 (-67.66%)
Mutual labels:  learning, education
Amazon Sagemaker Examples
Example 📓 Jupyter notebooks that demonstrate how to build, train, and deploy machine learning models using 🧠 Amazon SageMaker.
Stars: ✭ 6,346 (+493.08%)
Mutual labels:  learning, examples
Howto Git Bisect
Find bugs quickly with `git bisect`
Stars: ✭ 27 (-97.48%)
Mutual labels:  learning, howto
Jupyter Edu Book
Teaching and Learning with Jupyter
Stars: ✭ 325 (-69.63%)
Mutual labels:  learning, education
Web Dev For Beginners
24 Lessons, 12 Weeks, Get Started as a Web Developer
Stars: ✭ 39,380 (+3580.37%)
Mutual labels:  learning, education
Courses
Awesome Courses
Stars: ✭ 663 (-38.04%)
Mutual labels:  learning, education

Go Examples

If you liked this project, you may also like my golang-benchmarks repository:
SimonWaldherr/golang-benchmarks - GitHub

About

These examples explain the basics of Golang. There will be more examples from time to time.

if you like, feel free to add more Golang examples. Many thanks to all contributors.

Install go(lang)

with homebrew:

sudo brew install go

with apt-get:

sudo apt-get install golang

install Golang manually or compile it yourself

Examples

The examples are divided into three levels of difficulty. The Beginner section contains very easy examples, starting with Hello World but also containing a few easy algorithms. The Advanced section uses more complicated features of Golang. Finally, the Expert section contains applications like telnet-clients or http-server (even with SSL). If you want even more Golang examples, you can take a look at my other go repositories at GitHub:

All of them are published as free and open source software.

If all of this is even not enough for you, you can take a look at the following websites:

Beginner

To execute a Golang program, write go run at the cli followed by the name of the file.
You also can convert the file to a binary executable program by the command go build.
If you know #!, also known as Shebang, there is an equivalent for go: //usr/bin/env go run $0 [email protected] ; exit

Print Hello World with comments (Golang Playground)

go run HelloWorld.go

Print Hello World with comments (shebang version)

./HelloWorldShebang.go

Declare variables and print them (Golang Playground)

go run var.go

Various ways (and styles) to print variables (Golang Playground)

go run printf.go

If statement in Golang (Golang Playground)

go run if.go Hello

Declare array and print its items (Golang Playground)

go run array.go

Declare your own functions (Golang Playground)

go run function.go

Do something multiple times (Golang Playground)

go run for.go

Read via cli provided input data (Golang Playground)

go run args.go string string2

Read via cli provided input data (Golang Playground)

go run input.go

Or scan for it (Golang Playground)

go run scan.go

Read named argument input data (Golang Playground)

go run flag.go

Return the working directory (Golang Playground)

go run dir.go

Return the current time/date in various formats (Golang Playground)

go run time.go

Return pseudo random integer values (Golang Playground)

go run random.go

Concat strings in two different ways (Golang Playground)

go run cat.go

Modulo operation finds the remainder of division (Golang Playground)

go run modulo.go

Split a string by another string and make an array from the result (Golang Playground)

go run split.go

An example implementation of the Ackermann function (Golang Playground)

go run ackermann.go

An example implementation of the Euclidean algorithm (Golang Playground)

go run euklid.go

Submit a function as argument (Golang Playground)

go run functioncallback.go

A function returned by a function (Golang Playground)

go run functionclosure.go

A function with an unknown amount of inputs (variadic function) (Golang Playground)

go run functionvariadic.go

Empty interface as argument (You Don't Know Type) (Golang Playground)

go run interface.go

Execute Shell/Bash commands and print its output values (Golang Playground)

go run shell.go

Make structs (objects) which have functions (Golang Playground)

go run oop.go

Dependency injection for easier testing

cd beginner/di
go test

Hashing (md5, sha) in go (Golang Playground)

go run hashing.go

Advanced

Benchmarking example (using JSON marshal and unmarshal for the sample) (Golang Playground) From the root directory ($GOPATH/github.com/SimonWaldherr/golang-examples), run this command:

go test -bench=. -benchmem advanced/json_bench/main_test.go

Make pipeable unix applications with os.Stdin (Golang Playground)

go run pipe.go

AES-GCM encryption example (Golang Playground)

go run aesgcm.go

Bcrypt hashing example (Golang Playground) Please install package golang.org/x/crypto/bcrypt before run this file by running go get golang.org/x/crypto/bcrypt

go run bcrypt.go

Search element is exist in arrays or not (Golang Playground)

go run in_array.go

Calculate triangles (Golang Playground)

go run pythagoras.go (float|?) (float|?) (float|?)

Read from stdin (but don't wait for the enter key)

go run getchar.go

Wait and sleep (Golang Playground)

go run wait.go

Last in - first out - example (Pop and push in Golang) (Golang Playground)

go run lifo.go

Split a string via regular expression and make an array from the result (Golang Playground)

go run regex.go

More advanced regex (with time and dates) (Golang Playground)

go run regex2.go

Use my golibs regex package and have fun (Golang Playground)

go run regex3.go

Calculate and print the fibonacci numbers (Golang Playground)

go run fibonacci.go

Calculate and print the requested (32th) prime number (Golang Playground)

go run prime.go 32

Do things with numbers, strings and switch-cases (Golang Playground)

go run numbers.go

Use a template to create and fill documents (this example uses LaTeX) (Golang Playground)

go run template.go
pdflatex -interaction=nonstopmode template_latex.tex

Start a ticker (do things periodically)

go run ticker.go

Do something in case of a timeout (Golang Playground)

go run timeout.go

Convert go object to json string (Golang Playground)

go run json.go

Run unix/shell commands in go apps

go run exec.go

Compress by pipe

go run compress.go

Compress by file

go run compress2.go

Parse CSV (Golang Playground)

go run csv.go

Convert CSV to a Markdown table (Golang Playground)

go run csv2md.go

Parse a XML string into a Struct with undefined Fields (Golang Playground)

go run xml.go

Run a self killing app

go run suicide.go

GoCV : hello video

go run hello_video.go

GoCV : face detection

go run face_detect.go 0 model/haarcascade_frontalface_default.xml

Expert

Calculate π with go (leibniz, euler and prime are running until you stop it via CTRL+C)

go run pi2go.go leibniz
go run pi2go.go euler
go run pi2go.go prime

Calculate π with go - same as above - but with live output (based on gcurses)

go run pi2go-live.go leibniz
go run pi2go-live.go euler
go run pi2go-live.go prime

List files in working directory

go run explorer.go

run assemply code from golang

go run assembly.go

run C code from golang

go run cgo.go

generate Go code with golang templates

go run codegen.go

Convert from rgb to hsl (Golang Playground)

go run color.go

Telnet with Golang

go run telnet.go

The smallest Golang http server

go run httpd.go

Secure Golang http server

go run httpsd.go

The smallest Golang http proxy

go run proxy.go

Read and write cookies

go run cookies.go

Demonstrate the power of multithreading / parallel computing you have to set GOMAXPROCS to something greater than 1 to see any effect

export GOMAXPROCS=8
time go run parallel.go true
time go run parallel.go false

A dynamic amount of channels

time go run dynparallel.go 8

Run the compiler and comment each line which contains an error

go build gocomment.go
./gocomment go-app.go

Convert a image to a grayscale and to a color inverted image

go run image.go

Generate an image with three colored circles (with intersection)

go run image2.go

Generate an image representing the Mandelbrot fractal

go run image3.go

Sql (sqlite) Golang example

go run sqlite.go insert test
go run sqlite.go select

Public-key/asymmetric cryptography signing and validating

go run ppk-crypto.go

Command Line Arguments Golang Example We can get argument values though command line by specifying the operator '-' with the name of the argument and the value to be set. E.g. -env=qa

go run command_line_arguments.go
go run command_line_arguments.go -env=qa -consumer=true

Cron Golang Example We can trigger a function at a particular time through cron

go run cron.go

Map Golang Example Hash Map standard functions in golang

go run map.go

Compile

One great aspect of Golang is, that you can start go applications via go run name.go, but also compile it to an executable with go build name.go. After that you can start the compiled version which starts much faster. If you start fibonacci.go and the compiled version you will notice, that the last line which contains the execution time doesn't differ much, but if you start it with time ./fibonacci 32 and time go run ./fibonacci.go 32 you will see the difference.

License

Copyright © 2019 Simon Waldherr Dual-licensed. See the LICENSE file for details.

FOSSA Status

Support me

if you like what i do feel free to support me

you can do so by:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].