golang new和make
Published on 2023-05-21 22:22 in 分类: Golang with wushaoyu
分类: Golang

golang new和make

new和make

1. new 和 make 都用于分配内存;

2. new 对指针类型分配内存,返回值是分配类型的指针,new也可以对 slice 、map、channel 分配内存;但多用于自定义的结构体

3. make 仅用于 slice、map和 channel 类型的初始化分配内存空间,返回值为类型本身,而不是指针

4、new分配的返回的时指针,即类型*T;make返回引用,即T;

一、示例

复制代码
package main

import "fmt"

func main() {
    a := make([]int, 3, 10)
    a = append(a, 1)
    fmt.Printf("%v,%T\n", a, a)

    b := new([]int)

    *b = append(*b, 10)
    fmt.Printf("%v,%T\n", b, b)
}

输出:
[0 0 0 1],[]int
&[10],*[]int
复制代码

 

posted @   wushaoyu  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示