Skip to content

iabdukhoshimov/Golang-roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Golang-roadmap

1. Set up environment

1.1. Install Golang

  • Download and install Golang
  • Set up environment variables
    • GOROOT: path to Golang installation directory
    • GOPATH: path to workspace directory
    • PATH: add $GOROOT/bin and $GOPATH/bin to PATH
  • Check installation: go version

1.2. Install IDE

2. Basic Syntax of Golang

2.1 Data types

  • Primitive types: bool, string, int, float32, float64
  • Aggregate types: array, slice, map, struct
  • Reference types: pointer, function, interface, slice, map, channel -More

Tasks for data types

  • Declare variables with primitive types
  • Declare variables with aggregate types
  • Declare variables with reference types

2.2 Variables

  • Declare: var <name> <type>

2.3 Zero value

  • int: 0
  • float: 0.0
  • bool: false
  • string: ""
  • pointer, function, interface, slice, map, channel: nil
  • struct: zero value of each field
  • array: zero value of each element
  • More

Tasks for zero value

  • Print zero value of each data type

2.4 Constants

  • Declare: const <name> <type> = <value>
  • More

2.5 Operators

  • Arithmetic operators: +, -, *, /, %, ++, --
  • Comparison operators: ==, !=, >, <, >=, <=
  • Logical operators: &&, ||, !
  • More

Tasks for operators

  • Create a calculator program

2.6 Control flow

  • if statement
  • switch statement
  • More

Tasks for control flow

  • Create a program to check if a number is prime or not
  • Create a program to check if a year is leap year or not
  • Create a program to check if a number is odd or even
  • Create a program to check if a number is positive, negative or zero
  • Find the maximum number in 3 numbers

2.7 Loop

Tasks for loop

  • Create a program to print all prime numbers from 1 to 100
  • Factorial of a number
  • Fibonacci sequence
  • Print multiplication table of a number
  • Print the Piramids with * help of loops

2.8 Function

  • Declare: func <name>(<params>) <return type> {<body>}
  • More

Tasks for function

  • Take 2 numbers as input and return the sum
  • Caculate the area of a circle with radius,trianle with 3 sides, rectangle with 2 sides
  • Take a number as input and return the factorial of that number

2.9 Array and slice

  • Declare: var <name> [<size>] <type>
  • More

Tasks for array and slice

  • Create a program to find the maximum number in an array
  • Use Built-in functions of slice and array

2.10 Struct

  • Declare: type <name> struct {<fields>}
  • More

2.11 Map

  • Declare: var <name> map[<key type>]<value type>
  • More

2.12 Pointer

  • Declare: var <name> *<type>
  • More

2.13 Interface

  • Declare: type <name> interface {<methods>}
  • More

2.15 Type assertion abd type switch

  • Declare: <value>.(<type>)
  • More

2.16 Error handling

  • Declare: errors.New(<message>)
  • More

2.17 Go Modules and Packages

2.18 Panic, Defer and Recover

Relational database (PostgreSQL)

3.1. Install PostgreSQL

  • Download and install PostgreSQL
  • RDBMS benefits and limitations
  • What are the differences between SQL and NoSQL?
  • Postgres and other RDBMS

3.2 Basic RDBMS concepts

  • Data types
  • Rows, columns and tables
  • Schema
  • Read more about schema

3.3 Database concepts

  • Data definition language (DDL)

  • Data manipulation language (DML)

  • Data control language (DCL)

  • Transaction control language (TCL)

  • Data Query Language (DQL)

  • Read more about concepts

3.4 Join and Union

  • Inner join

  • Left join

  • Right join

  • Full join

  • Union

  • Union all

  • Read more about join

3.5 Indexing

  • What is indexing?

  • Types of indexing

  • When to use indexing?

  • When not to use indexing?

  • Read more about indexing

3.6 ACID

  • Atomicity

  • Consistency

  • Isolation

  • Durability

  • Read more about ACID

3.8 Functions and Triggers

  • What are functions?

  • What are triggers?

  • When to use functions and triggers?

  • Read more about functions and triggers

3.9 Migrations

  • What are migrations?

  • Why do we need migrations?

  • How to use migrations?

  • Read more about migrations

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published