The resulting value of append is a slice containing all the elements of the original slice plus the provided values.
If the backing array of s is too small to fit all the given values a bigger array will be allocated.
Range
The range form of the for loop iterates over a slice or map.
Maps
Maps must be created with make (not new) before use; the nil map is empty and cannot be assigned to.
Delete an element: delete(m, key)
Test that a key is present with a two-value assignment: elem, ok = m[key] If key is in m, ok is true. If not, ok is false and elem is the zero value for the map’s element type.
Function closures
Go functions may be closures. A closure is a function value that references variables from outside its body. The function may access and assign to the referenced variables; in this sense the function is “bound” to the variables.