· golang

new vs make

new

http://golang.org/pkg/builtin/#new

func new(Type) *Type

make

http://golang.org/pkg/builtin/#make

func make(Type, size IntegerType) Type

まとめ

package main

import "fmt"

func main() {
  i := new(int)
  fmt.Println(&i)
  fmt.Println(*i)
  *i = 1
  fmt.Println(*i)

  mySlice := make([]int, 10, 100)
  fmt.Println(mySlice)
  mySlice[2] = 2
  fmt.Println(mySlice)

  myMap := make(map[string]string)
  fmt.Println(myMap)
  myMap["Android"] = "OnePlus"
  myMap["iOS"] = "iPhone"
  fmt.Println(myMap)

  myChan := make(chan int, 2)
  myChan <- 1
  myChan <- 2
  fmt.Println(myChan)
}