Recent Posts

Go - Functions - 2

Modifications to the parameter copy don't affect the caller except pointer, slice, map, function, channel A function declaration without a body indica...

Go - Functions - 1

Declare func name(parameter-list) return-list {...} Parameter list type can be declared only once if types are the same func test(a string, b string,...

Go - JSON

ex. var p = Person{}; json.Marshal(p) json.marshal return byte slice contains long string wuthout extraneous Ex.data, err = json.MarshalIndent...

Go - Structs - 7

Name and visibility is implicitly determined by its type Outer struct type gains not just the fields of the embedded type but its methods too

Go - Structs - 5

Comparable struct can be a key of a map. (What will happen when struct value changed?) Can declare a named struct type in another struct as field ...

Go - Structs - 4

Shorthand notation to create and initialize a struct variable Ex. pp := &Point{1,2} It’s same as pp := new(Point) *pp = Point{1,2} If all f...

Go - Structs - 3

A struct can be declared to require client need assign values to each fields with right order.  Such pattern will be hard to maintain in the future...

Go - Structs - 2

A named type S CAN NOT declare a field with the same type S, but it can contains a field with type *S, for recursive data structure Zero struct field...

Go - Maps

Declared: map[KeyType]ValueType Ex. m := make(map[string]int) m["a"]=1 m{"b"]=2 Ex. m := map[string]int {    "a":1,    "b":2,...

Go - Slices

Slices contains many example images, causes I can’t save in Blogger in one article. So I split to 3 parts. Go - Slices (1/3) Go - Slices (2/3) Go - Slices (...

Go - Slices - 3

Ex. Slice is in the middle of an array, what will happen in that array after append? => Array value will reflect slice change, but array instance will ...

Go - Slices - 2

Slice is NOT comparable Standard library provide a way to compare 2 byte slices Reference type such as pointers and channels, the == test whether...

Go - Slices -1

Slice is declared as "var s []T" Declare a slice by make([]int,length,capacity) Slice looks like an array without size Pointer: point to the first eleme...

Go - Arrays

Declare an array Ex. var a [3]int a[0] len(a) for idx, v range a {} for _, v range a ,{} Declare with specified values. Default value is ...

Go - Boolean and Strings

Boolean bool boolean Strings Conventionally UTF-8 Built-in function len returns the number of bytes, not runes in a string Detect length of s...