allocation

This commit is contained in:
Steven Degutis
2012-03-16 08:31:24 -05:00
parent 692e648de3
commit 548b406b47
2 changed files with 25 additions and 2 deletions

23
about_allocation.go Normal file
View 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
}

View File

@@ -29,10 +29,10 @@ func TestKoans(t *testing.T) {
//testInterfaces()
//testMaps()
//testPointers()
testStructs()
//testStructs()
testAllocation()
// TODO: ie, gameplan
//testAllocation()
//testGoroutines()
//testChannels()
//testPanics()