建立slice ,map,chan
傳回類型引用
代碼:
package main
import (
"fmt"
"reflect"
)
func main() {
//makeSlice()
//makeMap()
makeChan()
}
//建立切片
func makeSlice(){
mSlice := make([]string, 3)
mSlice[0]="dog"
mSlice[1]="cat"
mSlice[2]="tiger"
fmt.Println(mSlice)
}
//建立map
func makeMap(){
mMap := make(map[int]string)
mMap[10]="dog"
mMap[200]="cat"
fmt.Println(mMap)
}
//建立chan
func makeChan(){
mChan := make(chan int)
close(mChan)
}
new 内置為零
傳回傳入類型的指針位址
package main
import (
"fmt"
"reflect"
)
func main() {
newMap()
}
func newMap(){
mMap := new(map[int]string) //new出來是指針類型
mMakeMap := make(map[int]string) //make出來的是引用類型
fmt.Println(reflect.TypeOf(mMap))
fmt.Println(reflect.TypeOf(mMakeMap))
}
傳回如下:
*map[int]string
map[int]string
看得出來new出來的是指針類型