Here is one way, how to add elements to array in go language, see https://play.golang.org/p/nCLX23ymRUM
package main import ( "fmt" ) type MyRecord struct { Name string Phone string } var recA = MyRecord{Name: "Anna", Phone: "123"} var recB = MyRecord{Name: "Bob", Phone: "456"} type Records []MyRecord func buildAppendedArrayPtr() { arr := make(Records, 0) arrPtr := &arr arrPtr = appendToArrayPtr(arrPtr, recA) arrPtr = appendToArrayPtr(arrPtr, recB) fmt.Printf("%v %T %d \n", arrPtr, arrPtr, len(*arrPtr)) for i, rec := range *arrPtr { fmt.Printf("%d. %v\n", i, rec) } } func appendToArrayPtr(recordsPtr *Records, myRecord MyRecord) *Records { arr := append(*recordsPtr, myRecord) return &arr } func main() { buildAppendedArrayPtr() }