首页 > 其他分享 >golang new和make

golang new和make

时间:2023-05-21 22:34:35浏览次数:39  
标签:10 int make golang 分配内存 new 指针

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

 

标签:10,int,make,golang,分配内存,new,指针
From: https://www.cnblogs.com/wushaoyu/p/16182541.html

相关文章

  • [atARC156F]Make Same Set
    考虑网络流,具体建图如下:整张图共\(4\)层,用\((i,j)\)表示第\(i\)层的第\(j\)个点,则边集包含从\(S\)向\((1,i)\)连流量为\(1\)的边从\((1,i)\)向\((2,a_{i})\)和\((2,b_{i})\)连流量为\(1\)的边从\((2,i)\)向\((3,i)\)连流量为\(1\)的边从\((3,a_{i})\)和\((3,c_{i})\)向\((4,......
  • Makefile学习笔记
    ​目录一、概述1.1 Makefile介绍1.2规则1.3核心1.4示例1.5定义命令1.6 make是如何工作的1.7、makefile中使用变量1.8让make自动推导1.9、另类风格的makefile1.10、清空目标文件的规则二、Makefile总述2.1、Makefile里有什么?2.2、 makefile文件名2.3、引用其......
  • Golang的viper包调用多次OnConfigChange
    问题:修改了一次,而执行了两次这个函数解决方案把配置文件进行md5,保存其md5值。在调用这个函数时,再次读取文件进行md5。两者比对,如果相等就不执行下面的逻辑。这样就解决了,一模一样的配置文件,保存多次,不会执行后续的逻辑。但是,杜绝了大部分的场景,比如修改了一次,保存了两次......
  • Newtonsoft.Json使用
    目录枚举类型序列化/反序列化结论序列化后的字符串字段顺序控制通过[JsonProperty(Order=1)]控制字段序列化后的顺序通过自定义ContractResolver的方式实现相关参考用于记录开发过程中Newtonsoft.Json中使用的常用功能。枚举类型序列化/反序列化由于枚举类型的基类是值类型,......
  • golang操作redis
    首先,基于docker查看redis镜像dockerps-a然后执行dockerrun-p6379:6379-dredis:latestredis-server,将端口映射到本机最后执行dockerexec-ti13e638ea1036redis-cli-h0.0.0.0-p6379执行链接操作......
  • Fortran程序的Makefile文件
      qqqq #获取文件夹中所有.f90文件列表notdir把展开的文件去除掉路径信息SRCS_F90=$(wildcard*.f90)SRCS_F=$(wildcard./*.f)SRCS_DIR=$(notdir$(SRCS_F))#替换.f90后缀为.o后缀得到.o文件列表OBJS_F90=$(patsubst%.f90,%.o,$(SRCS_F90))OBJS_F=$......
  • golang采坑
    2023年4月8日12:00:28选择golang开发的几个理由语法简单,类C语法,但是又不是全c风格,刚开始会有些不适应部署简单,直接编译成二进制文件,直接部署高性能,很多互联网项目需要考虑的近些年,go的社区基金会都是大厂,未来发展问题不大国内外很多项目开始采用go重写java,php,python等,需要......
  • 5个编写高效Makefile文件的最佳实践
    在软件开发过程中,Makefile是一个非常重要的工具,它可以帮助我们自动化构建、编译、测试和部署。然而,编写高效的Makefile文件并不是一件容易的事情。在本文中,我们将讨论如何编写高效的Makefile文件,以提高我们的开发效率和产品质量确定目标在编写Makefile文件之前,我们需要明确我......
  • 5个编写高效Makefile文件的最佳实践
    在软件开发过程中,Makefile是一个非常重要的工具,它可以帮助我们自动化构建、编译、测试和部署。然而,编写高效的Makefile文件并不是一件容易的事情。在本文中,我们将讨论如何编写高效的Makefile文件,以提高我们的开发效率和产品质量确定目标在编写Makefile文件之前,我们需要明确我......
  • Hugging News #0519: 我们把 HuggingChat 开源了
    每一周,我们的同事都会向社区的成员们发布一些关于HuggingFace相关的更新,包括我们的产品和平台更新、社区活动、学习资源和内容更新、开源库和模型更新等,我们将其称之为「HuggingNews」,本期HuggingNews有哪些有趣的消息,快来看看吧!重磅我们把HuggingChat开源了ChatUI......