Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/prayag2003/go-the-next-gen-lang


https://github.com/prayag2003/go-the-next-gen-lang

go golang

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

Golang



01-Basics

- Go is a compiled language and has different executables for different Operating Systems.

- It is an object oriented programming language but doesn't contain Classes and Objects , rather has Structs instead classes. The concept of overriding and overloading are also not present.

```go
package main

import "fmt"

func main() {
fmt.Println("Hello , I am Learning GOLANG !!! ")
}
```

- package main() is the entry point of the program

- Statically defined types : once a variable type is declared , it is fixed and hence type cannot be changed. Almost Everything in the Golang is a type.

Types Include:
1) String 6) Arrays
2) Boolean 7) Slices
3) Integer 8) Maps
4) Floating 9) Structs
5) Complex 10) Pointers

-- Functions, Channels are types as well

- LEXER ensures the rules of Grammar are properly followed. Also takes care of semi-colons ;)

10-Slices

- Slices are similar to vectors in C++. They are much more powerful than arrays in Go.

- Append vs Make

Make : Allocates fixed memory
Append : Reallocates new memory, therefore making room for new elements

13-Structs

- Similar to classes in OOP languages
- There is no inheritance in Go, no Super or parent concepts