Learning Go via TDD - Arrays and Slices
Learnings Chapter: Arrays & Slices
Arrays have length and capacity
- big difference compared to JS or Ruby
- you declare the “capacity” of the array ie how many total elements it can hold
- length
- how many items currently in the array
- capacity
- NOTE not understanding this can lead to memory leak!
- How many items are allocated for the array
Slice is an Array without a declared size
- len()
- returns length of Array
- make()
- creates arrays with 1arg being array type, 2nd arg array length
- append()
- allows you add slices together and return a new slice with a length of both arrays
- its important because of strong typing in go
Iterating through an Array or Slice using a for loop you can use a range
ex: You can see in this example we do not use the index so we use an underscore but have to use the keyword range
func Sum(numbers [5]int) int {
sum := 0
for _, number := range numbers {
sum += number
}
return sum
}