[go学习笔记] 内置函数new以及struct初始化有什么区别?


new() 含义介绍

这是一个用来分配内存的内置函数,它的第一个参数是一个类型,不是一个值,它的返回值是一个指向新分配的 t 类型的零值的指针

func new(t Type) *Type 

strut{} 含义介绍

直接使用struct{} 来初始化strut时,返回的是一个struct类型的值,而不是指针两者是不一样的

编写代码进行对比

package main

import (
  "fmt"
)

type Student struct {
  Id int
  Name string
}

func main() {
  s := new(Student)

  s.Id = 1
  s.Name = "test"
  s1 := Student{Id: 2, Name: "test1"}
  fmt.Println(s, s1)
}

输出结果:&{1 test} {2 test1}

从上面代码的声明和打印的结果中就可以看出 s 的类型为指针,s1 为一个Student类型

优质内容筛选与推荐>>
1、Mysql常用命令(1) 连接Mysql数据库及修改用户密码
2、286. Walls and Gates
3、VirtualBox:创建虚拟机
4、Codeforce 340D
5、随便写的


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号