allocation
This commit is contained in:
23
about_allocation.go
Normal file
23
about_allocation.go
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
package go_koans
|
||||||
|
|
||||||
|
func testAllocation() {
|
||||||
|
a := new(int)
|
||||||
|
*a = 3
|
||||||
|
assert(*a == __int__) // new() creates a pointer to the given type, like malloc() in C
|
||||||
|
|
||||||
|
type person struct {
|
||||||
|
name string
|
||||||
|
age int
|
||||||
|
}
|
||||||
|
bob := new(person)
|
||||||
|
assert(bob.age == __int__) // it can allocate memory for custom types as well
|
||||||
|
|
||||||
|
slice := make([]int, 3)
|
||||||
|
assert(len(slice) == __int__) // make() creates slices of a given length
|
||||||
|
|
||||||
|
slice = make([]int, 3)
|
||||||
|
assert(cap(slice) == 20) // but can also take an optional capacity
|
||||||
|
|
||||||
|
m := make(map[int]string)
|
||||||
|
assert(len(m) == __int__) // make() also creates maps
|
||||||
|
}
|
||||||
@@ -29,10 +29,10 @@ func TestKoans(t *testing.T) {
|
|||||||
//testInterfaces()
|
//testInterfaces()
|
||||||
//testMaps()
|
//testMaps()
|
||||||
//testPointers()
|
//testPointers()
|
||||||
testStructs()
|
//testStructs()
|
||||||
|
testAllocation()
|
||||||
|
|
||||||
// TODO: ie, gameplan
|
// TODO: ie, gameplan
|
||||||
//testAllocation()
|
|
||||||
//testGoroutines()
|
//testGoroutines()
|
||||||
//testChannels()
|
//testChannels()
|
||||||
//testPanics()
|
//testPanics()
|
||||||
|
|||||||
Reference in New Issue
Block a user