Skip to content

Imsurajkr/100daysOfGoLang

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

100daysOfGoLang

100days 100 Days of GoLang

Installing Go Lang

  • Refer to the official documentation to Install and setup Go Lang
  • InCase if you face issues community is always available to help.

We will start with 3 Books.

Go Programming Cookbook: Over 85 recipes to build modular, readable, and testable Golang applications across various domains - Second Edition

Mastering Go: Create Golang production applications using network libraries, concurrency, machine learning, and advanced data structures

Building RESTful Web services with Go: Learn how to build powerful RESTful APIs with Golang that scale gracefully.

Youtube Channels for Video reference :-

By Coder Singh

By Free Code Camp

Guidelines / What we are going to do

  • Create at least 1 Programme per day.
  • Add Comments and proper explanations of what that programme does.
  • Commit Message must be a proper statement of your programme.
  • Everyday push your work to github.here
  • Discipline is must. Everyday Just One hour or less than one hour but a single programme is must.
  • Members are Contributors to that group. If you are serious than share your email id.
    docs

Big Why ?

  • 100 Days of Code is a scientific proven way to develop a skill and master on it.

What the #100DaysOfCode can do for you

  • There are several good reasons you should consider committing to this challenge:
  • Coding will become a daily habit for you — a habit that you can easily maintain after you’ve finished the challenge.
  • Every day that you consistently code, you’ll build momentum. That momentum will make it easier for you to learn more advanced topics. You won’t have to spend extra time trying to remember what you did previously. You can stay in the “flow” of coding.
  • You’ll make friends and meet like-minded people who are also working through this challenge alongside you. They’ll help you find the strength to keep coding even on the days when you don’t feel like you’re making progress. They can also help you when you inevitably get stuck.
  • The projects that you’ll build will be small in scope, so by the time you finish, you’ll have completed several of them — and gained a wide range of experience.
  • If you were just working through tutorials, you wouldn’t have much to show for it. But with #100DaysOfCode, you’ll build real portfolio projects that you can show to potential employers and share with your family.
  • These projects will give you practice with concepts that frequently come up during developer job interviews.
  • Your GitHub profile will look extremely active. And yes, hiring managers and recruiters do look at these.
  • You’ll greatly diminish your fear of starting a new coding project. It will become a natural, ordinary thing to do.
  • You’ll have a good reason to stop procrastinating and start coding every day

Why GoLang ?

  • According to a developer’s result survey, Golang language skills are proven to be one of the highest-paid programming skills.

  • Go is an open-sourced programming language that was first published in 2009 and developed by Google’s Rob Pike, Robert Griesemer, and Ken Thompson. Based on the syntax of C, it comes with some changes and improvements to safely manage memory usage, manage objects, and provide static or strict typing along with concurrency.

  • Go was created with the goal of:

  • The simplicity of use while increasing productivity

  • Providing a high level of code efficiency.

  • Advanced performance for businesses.

The Advantages of using Golang

  • Go has the same performance as C, but it is much easier to maintain than Java. Without the need for a virtual machine, Go boasts easier maintenance and no warming up period. These and many other characteristics are what make Golang stand out from its competitors.
  • It’s speed: Because Golang is a compiled language, any code written within Go actively compiles into a format the processor understands.Other languages such as Java are compiled into bytecode, which is executed by the virtual machine. Go enhances the availability and reliability of services as it has been proven to be faster than other languages such as Java or Python
  • Golang is easy to grasp: Due to its same procedural approach, it is easy for software developers to familiarize themselves with Go, particularly if they have a foundation in C or Java.
  • Golang is fully concurrent and more stable: Golang has Goroutines that take up as little as 2kB of memory. These basic functions can run simultaneously and independently, making multiple processes possible when the need arises. Unlike Java threads that consume large amounts of memory, Goroutines, which are used instead of threads, require much less RAM lowering the risk of crashing due to lack of memory.
  • This also allows for older devices to enjoy Go-based apps due to the simple fact that they have less demanding system requirements.
  • Go Developers are easy to find: Market research has shown Go to be the most in-demand coding language across the globe. By placing Golang at the forefront of your development strategy, you can access a repository of talent that will only increase with the ever-growing demand.
  • Accessible development tools: Development tools are readily available in the forms of plugins, editors, or IDE, all available for download from a Go repository. Due to the simple fact, Go is an open-source initiative.
  • Go Offers easy support: Aside from having code that easy to learn, Go offers developers to use several tools to work with.
  • GoDoc generates documentation from code automatically and includes features like cross-referencing
  • GoMetaLinter allows developers to analyze their code quickly and in detail with the added function of creating LR parsers for better analysis
  • Go contains a simple API allowing developers the environment for easy testing, profiling, and much more.
  • Go contains a built-in Race detector to stop race conditions often linked to creating multi-threaded applications.

The Disadvantages of using Golang

  • Despite being the most in-demand language on the planet, you may need to consider some factors before you make the switch to Golang.
  • Prolonged Coding: With Go, programmers may need to code dozens of lines to achieve what could be done in far fewer lines in Python. When your team is rushing to meet a deadline in software creation, this prolonged coding can be a serious concern.
  • Lack of existing libraries: Despite being introduced in 2009, Golang is still a fairly new language. It’s lack of SDK and 3rd party interfaces often burden programmers with having to write extra code to combine multiple programs. Furthermore, because Go doesn’t have its own GUI library, programmers may struggle and require a fair amount of knowledge, especially when interfacing with other platforms.
  • No Generic functions: A block of code that handles, collects and input processes it, and then returns an output is known as a function. While a group of different functions with the same name but have no defined type during the compile time are known as generic functions. Golang’s lack of support for generic functions forces programmers to code multiple footprints of functions to handle various parameters. This lack of support severely decreases efficiency during development due to a lack of code reusability.