返回顶部
首页 > 资讯 > 后端开发 > GO >golang new 用法
  • 661
分享到

golang new 用法

2023-05-19 08:05:31 661人浏览 八月长安
摘要

golang是一种快速、可靠和高效的编程语言,因其出色的性能和可维护性,成为了web开发,服务器编程,大数据处理等场景下的热门选择。在这篇文章中,我们会介绍一下Golang中的new关键字的用法。在Golang中,new是一个关键字,用于在

golang是一种快速、可靠和高效的编程语言,因其出色的性能和可维护性,成为了web开发服务器编程大数据处理等场景下的热门选择。在这篇文章中,我们会介绍一下Golang中的new关键字的用法。

在Golang中,new是一个关键字,用于在堆上分配内存并将其初始化为零值。如果你对C/C++类型思路比较熟悉,可以类比于malloc函数和calloc函数的结合使用。

使用new关键字开辟一个数据的内存非常简单,只需要调用new函数并传入变量类型即可,例如:

var data *int           // 声明一个int类型指针变量data
data = new(int)         // 通过new函数在堆上分配一个整型数据内存,并将data指向这段内存

通过上述代码,我们成功地在堆上分配了一个整型数据内存,并将其地址赋值给了data指针变量。接下来,我们可以通过以下代码对数据进行赋值和访问操作:

*data = 100             // 赋值操作,将整型数据100赋值给指针data指向的内存
fmt.Println(*data)      // 访问操作,打印指针data指向的内存中存储的数据,即100

需要注意的是,在Golang中,new关键字返回的是一个变量类型对应的指针类型。例如,将new(int)传递到函数时,实际上传递的是一个int类型的指针值。在使用时,需要结合*运算符对这个指针进行解引用操作。

除了基本数据类型以外,new关键字同样可以用于创建用户自定义类型的实例。例如,下面我们定义了一个结构体类型Person,其中包含了name和age两个成员变量,然后通过new关键字为这个类型创建了一个实例,同时对成员变量进行了赋值操作。

type Person struct {
    name string
    age  int
}

p := new(Person)
p.name = "joseph"
p.age = 30
fmt.Println(p)

通过上述代码,我们成功地为Person类型创建了一个实例,并成功进行了成员变量赋值和打印操作。需要注意的是,Golang中,结构体成员变量可以通过p.name和(*p).name两种方式进行访问,其中前者是简便写法,Golang会自动将其转换为后者的解引用写法,因此两者等价。

综上所述,new关键字是Golang中一个非常方便实用的内存分配工具,它可以通过一行代码快速地在堆上为变量类型分配内存,并初始化为零值。通过合理地使用new关键字,我们可以在Golang中快速高效地进行内存管理。

以上就是golang new 用法的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: golang new 用法

本文链接: https://lsjlt.com/news/212906.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • golang new 用法
    Golang是一种快速、可靠和高效的编程语言,因其出色的性能和可维护性,成为了Web开发,服务器编程,大数据处理等场景下的热门选择。在这篇文章中,我们会介绍一下Golang中的new关键字的用法。在Golang中,new是一个关键字,用于在...
    99+
    2023-05-19
  • golang new失败
    在使用Golang时,如果使用new语句创建一个指针类型的变量,有可能会存在new失败的问题。这种情况下,程序会在运行时抛出运行时异常,导致程序无法正常运行。本文将对Golang中new失败的原因进行分析,并提供解决方法。Golang中ne...
    99+
    2023-05-19
  • new失败 golang处理
    前言在使用 golang 进行开发时,你有没有遇到过 new 失败的情况?当出现这种情况时,该如何去处理呢?本文将带你深入了解 golang 中 new 失败的原因,并提供一些处理方法,帮助你解决这一问题。一、new 是什么?new 是一个...
    99+
    2023-05-15
  • Golang中make和new如何使用
    本篇文章给大家分享的是有关Golang中make和new如何使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。在golang中,make和ne...
    99+
    2024-04-02
  • c++中的new的用法
    c++ 中 new 运算符用于动态内存分配,从堆内存分配指定大小的内存并返回指向分配内存的指针。使用方法包括:1. 分配内存:使用 new 运算符分配所需大小的内存;2. 访问分配的内存...
    99+
    2024-04-26
    c++
  • golang中new与make的区别讲解
    目录new和makenew使用new初始化零值new(struct)和&struct{}区别小结make使用示例总结:new和make new // The new buil...
    99+
    2023-01-12
    golang中new与make的区别 golang中new与make golang new go make
  • javascript中new方法怎么使用
    这篇文章主要介绍“javascript中new方法怎么使用”,在日常操作中,相信很多人在javascript中new方法怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • C++ new用法是怎么样的
    今天就跟大家聊聊有关C++ new用法是怎么样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C++编程语言中有一种叫做new的术语。不过这一概念是比较模糊的,有些人把它理解为new...
    99+
    2023-06-17
  • C++中new的用法及说明
    目录C++ new的用法知识点小结new的三种使用方法概念示例C++ new的用法 知识点小结 new其实就是告诉计算机开辟一段新的空间,但是和一般的声明不同的是,new开辟的空间在...
    99+
    2022-11-13
    C++中new new的用法 C++ new用法
  • Java中new hashmap的用法是什么
    在Java中,使用new HashMap<>()可以实例化一个新的HashMap对象,可以用来存储键值对数据。HashM...
    99+
    2024-03-02
    Java
  • 浅谈Golang的new与make区别是什么
    目录newmake小结:区别:在go语言中,make和new都是内存的分配(堆上),但是make只用于slice、map以及channel的初始化(非零值);而new用于类型的内存分...
    99+
    2024-04-02
  • 一文详解Golang中new和make的区别
    目录1. 简介2. new 函数2.1 new 函数的作用2.2 new 函数的语法3. make 函数3.1 make 函数的作用3.2 make 函数的语法4. 区别对比4.1 ...
    99+
    2023-05-19
    Go中new和make区别 Golang new和make Golang new make
  • C++中的opeartor new和placement new使用步骤
    目录new做了哪些:opeartor new重载测试placement newPlacement new使用步骤总结:参考文章:new做了哪些: 在c++中,对new的调用时,new...
    99+
    2022-11-13
    C++ opeartor new C++ placement new
  • Python new 类方法和 ini
    “Python 中的类都是单例模式?” 一天,一同事问我这样一个问题。这是一个奇怪的问题,可能你也这么认为。这里先不做解释,我们先来看看 __new__ 和 __init__ 方法。 new 与 init __new__ 方法属于新式类,...
    99+
    2023-01-31
    方法 Python ini
  • 一文掌握new Date() 方法
    目录可恶的四宗罪1. Safari浏览器不兼容YYYY-MM-DD这样的格式2、月份的索引是以0为起点的,而年份、日期却不是3、年份小于100,默认以19xx或20xx开头4、日期初...
    99+
    2023-05-16
    new Date() 方法 js new Date()
  • js中new set()使用的方法是什么
    在JavaScript中,可以使用以下方法来使用`new Set()`:1. 创建一个空的Set对象:```javascriptco...
    99+
    2023-09-29
    js
  • c++中new的三种用法详细解析
    一. 简介new有三种使用方式:plain new,nothrow new和placement new。(1)plain new顾名思义就是普通的new,就是我们惯常使用的new。在...
    99+
    2022-11-15
    new c++
  • c++中new的作用
    c++ 中 new 运算符用于动态分配内存,包括:分配指定大小的内存块、创建堆内存中的对象以及返回指向分配内存块的指针,语法为 type* ptr = new type;。 C++ 中...
    99+
    2024-04-26
    c++
  • c#中new的作用
    c# 中 new 关键字用于创建类的实例,包括分配内存、调用构造函数并返回对新创建对象引用的三大操作。主要应用场景为:创建基本数据类型、创建引用类型、创建数组以及为变量分配值。 C# ...
    99+
    2024-05-15
    c#
  • Golang 用 New() 返回结构体指针,而不是直接创建一个
    从现在开始,努力学习吧!本文《Golang 用 New() 返回结构体指针,而不是直接创建一个》主要讲解了等等相关知识点,我会在编程网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一...
    99+
    2024-04-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作