package main
import (
"fmt"
"reflect"
)
func main() {
// make函数
//makeSlice() // 创建切片
//makeMap() // 创建集合
//makeChan() // 创建channel
NewMap() // make创建的是指针类型 new的是引用类型
}
func NewMap() {
mp := new(map[int] string)
mp1 := make(map[int] string)
fmt.Println(reflect.TypeOf(mp))
fmt.Println(reflect.TypeOf(mp1))
}
func makeSlice(){
sl := make([]string,3)
sl[0] = "a";
sl[1] = "b";
sl[2] = "c";
fmt.Println(sl)
}
func makeMap(){
mp := make(map[int] string)
mp[0] = "hello"
mp[1] = "world"
mp[33] = "!"
fmt.Println(mp)
}
func makeChan() {
mchan := make(chan string)
go func() {
mchan <- "hello world"
}()
message := <- mchan
fmt.Println(message)
}
go内建方法 new和make区别
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
new thread 、 new stack和New Object的形象说明
e2 studio的使用
堆栈 Stack 网络协议栈 -
Go new() 与 make() 的区别
Go new() 与 make() 的区别
golang 算法 java 数组 初始化