Suggestion 1 : During array & slice copy, notice the behavior whether it is 'Pass by Value' or 'Pass by Reference'
Suggestion 2 : While working with array & slice, notice what is 'Inclusive' & 'Exclusive'
Suggestion 3 : Note the naming conventions, like when to use ParcelNaming & when to use camelCase convention
Suggestion 4 : While referring an array variable, note it is pass by value, so it can impact the memory performance.
Suggestion 5 : const variables can be shadowed.
Suggestion 6 : Slice is a projection on an Array, so while copying slice you still be referring the original array but during array
copy it makes a totally different array.
Suggestion 7 : Check closely when some property can be exported & when not.
Suggestion 8 : While passing array it is Pass by Value but while passing Map, it is Pass by Reference. Similarly for Struct it is
Pass by Value.
Suggestion 9 : Understand the concept of inheritence in Go
Suggestion 10 : Note 'fallthrough' in switch case instead of 'break'
Suggestion 11 : Note, you can use overlapping cases if not tagging in switch statement else it gives error.
Suggestion 12 : In Golang, there is no concept of exception, it has panic(), so plan the actions accordingly.
Suggestion 13 : In Golang it is Pass by Value for arrays, struct types etc by default. For Map & slice, it is Pass by Reference
Suggestion 14 : While passing large data structures to the functions & it being a Pass by Value, then it will hurt your
application to make the copies everytime, so you can consider to pass the pointers. But again remember that
it will be Pass by Reference & any change to the structure in the function will change the original one & that
can cause issues further.
Suggestion 15 : Go doesn't allow any variable unused to be present in the code, so it can be bit frustrating when you want to
have some extra variables put in code to use later.
Suggestion 2 : While working with array & slice, notice what is 'Inclusive' & 'Exclusive'
Suggestion 3 : Note the naming conventions, like when to use ParcelNaming & when to use camelCase convention
Suggestion 4 : While referring an array variable, note it is pass by value, so it can impact the memory performance.
Suggestion 5 : const variables can be shadowed.
Suggestion 6 : Slice is a projection on an Array, so while copying slice you still be referring the original array but during array
copy it makes a totally different array.
Suggestion 7 : Check closely when some property can be exported & when not.
Suggestion 8 : While passing array it is Pass by Value but while passing Map, it is Pass by Reference. Similarly for Struct it is
Pass by Value.
Suggestion 9 : Understand the concept of inheritence in Go
Suggestion 10 : Note 'fallthrough' in switch case instead of 'break'
Suggestion 11 : Note, you can use overlapping cases if not tagging in switch statement else it gives error.
Suggestion 12 : In Golang, there is no concept of exception, it has panic(), so plan the actions accordingly.
Suggestion 13 : In Golang it is Pass by Value for arrays, struct types etc by default. For Map & slice, it is Pass by Reference
Suggestion 14 : While passing large data structures to the functions & it being a Pass by Value, then it will hurt your
application to make the copies everytime, so you can consider to pass the pointers. But again remember that
it will be Pass by Reference & any change to the structure in the function will change the original one & that
can cause issues further.
Suggestion 15 : Go doesn't allow any variable unused to be present in the code, so it can be bit frustrating when you want to
have some extra variables put in code to use later.