Go, gRPC, Microservices

1. Go

-  Workspaces( GOPATH )

- Run many files


- Go is static type



- Basic type of Go




- Variable declarations

  Long form:  var card string = "tuan and thu"
  Short form: card := "tuan yeu thu"



- Functions and return types





- Slices and for loops





  Declare: cards := []string{"tuan","thu"}
  
  Append: cards = append(cards,"cuoi")

  Loop:   for index,card := range cards{
              fmt.Println(index,card)
          }

- OO Approach vs Go Approach








- Custom type declarations

  type deck []string

- Receiver functions




- Slice range syntax( like python )

- Multiple return values

- Byte slices

- Joining a slice of strings, Split a string

- Write and read file on hard drive

  nil, os.Exit(1)

- Testing with go


- Struct

  + Declare, Update, Embed, Receiver
  + Pointer



















- Reference vs Value Types








- Map

  + What is a map ?


   + Three ways to declare a map


   + Add and delete on map


   + Iterating over maps

   + Map vs Struct


- Interface

















- Go Routines





- Channel













Comments