关键词不能为空

数据类型的默认值是什么?(基本数据类型有默认值吗)

作者:admin
来源:http://www.sdzsb8.cn/sbwd/26463.html
日期:2022-07-19 18:30
评论:0
阅读 70

数据类型的默认值是什么??基本数据类型有默认值吗?之前我们聊过go语言的interface以及反射,今天说一下go语言中的nil,nil和interface有什么关系。这里我们可以看到,某些类型的默认值和其他语言是不一样的,我们在使用过程中需要注意一下。还有就是struct,其默认值就是其字段对应类型的默认值。

数据类型的默认值是什么?(基本数据类型有默认值吗)

我们之前讲过go语言中的接口和反射。今天我们来谈谈nil,nil和go语言中的接口是什么关系。

我们先来看看go语言中数据类型的默认值是什么:

这里我们可以看到有些类型的默认值和其他语言是不一样的,在使用过程中需要注意。有struct,其默认值是其字段对应类型的默认值。这里主要看nil,它只能赋给指针、通道、func、接口、map或slice类型的变量,否则会引发panic。

那么我们来看看slice和map与nil的关系。首先,看代码:

看看运行结果:

这里可以看到,对于map和slice两种不同的声明方法,结果也是不同的。对于没有用“:=”声明的变量,结果是一个nil,因为这相当于只有一个指针,指向一个空映射,所以是一个nil。对于其他方法(mapa和s2),它的指针已经指向一个地图或切片,但是它的内容。也就是说,空的映射或切片肯定不是nil(结构也是)。

让我们回头看看界面。一般来说,它的数据结构由两部分组成,一部分是其特定类型的指针,另一部分是其特定数据的指针。我们可以通过反射找到它运行时的具体内容。好了,让我们来看看下面的代码:

你可以先猜猜结果是什么,3,2,1。让我们来看看结果:

不知道是不是和大家预期的一样?

我在这里解释一下。首先这里的var s *Student,s是一个空指针,它指向的内容是空的。这个上面也解释过了。主要是var n namer=s的部分,你可能觉得s指向空,所以给了n,所以n也应该指向空。其实n是一个接口类型,接口类型数据结构有两部分,类型和值。我们把s给n之后,n的内存数据发生了变化,也就是n的类型变成了s的类型(* main.student),但是它的值还是nil。也就是说,接口类型只有在其类型和值为零时才为零,所以对于S来说不为零.这个时候我们回忆一下接口的数据结构,它指向特定类型的指针和指向特定数据的指针是否更容易理解。只有这两个指针是nil,它们的接口类型object是nil。

这里还有一个小建议给你。如果在项目中遇到类似的问题,我们有两个角度来解决。第一,如果函数返回一个接口类型,要注意是否有是否等于nil的判断。如果有,要引起重视。这是个坑。个人不建议从这个角度处理。go语言的一个特点是支持多个返回值。最常见的是一个返回值加上一个错误。我们先判断错误,再处理退货的具体内容。逻辑不清晰,不容易出问题。我们很容易发现问题。我们要好好利用围棋语言的特点。不管是什么语言,什么工具,什么框架,都要知道它的主要功能特点才能得心应手。

(头条的代码支持还是比较头疼的。)更多资讯请关注微信官方账号:Go语之美。


本文来自网络,不代表「专升本要什么条件_专升本要几年_成人高考专升本_山东专升本信息网」立场,转载请注明出处:http://www.sdzsb8.cn/sbwd/26463.html

数据类型的默认值是什么?(基本数据类型有默认值吗)的相关文章

  • 上海最好的中专是哪几个?(上海中专学校排名)

    上海最好的中专是哪几个?(上海中专学校排名):1、以下是上海市好的中专学校,排名不分先后:1.上海信息技术学校2.上海石化工业学校*3.上海交通大学医学院附属卫生学校4.上海市商业学校5.民航上海中等专业学校*6.上海港湾学校7

    热讯
  • 在哪可以查到建造师的在建情况?(全国建造师网官网)

    在哪可以查到建造师的在建情况?(全国建造师网官网):1、可以在中国建造师网查询。2、第一步、打开浏览器,在百度中输入“建造师”,然后下方会出现中国建造师网的官方网站,然后点击官方网站进入即可,如下图所示;第二步、点击进

    热讯
  • 什么是监督执纪的四种形态(监督执纪四种形态)

    什么是监督执纪的四种形态(监督执纪四种形态):1、监督执纪的四种形态是指:1、党内关系要正常化,批评和自我批评要经常开展,让咬耳扯袖、红脸出汗成为常态;2、党纪轻处分和组织处理要成为大多数;3、对严重违纪的重处分、

    问答
  • 梁山排名三十六天罡星和七十二地煞星,谁才是真正的梁山老大?

    梁山排名三十六天罡星和七十二地煞星,谁才是真正的梁山老大?:梁山排名分三十六天罡星和七十二地煞星,明显天罡要比地煞的地位高一些,但是又具体是怎么排名的呢,大家都知道,这个排名是宋江等人说是天意如此,弄了一个石碑糊弄大伙,古

    百科
  • 东营什么大学「东营最好的大学怎么样」

    东营什么大学「东营最好的大学怎么样」:东营最好的大学排名,东营所有大学排行榜公布一、东营最好的大学排名,东营所有大学排行榜公布序号 学校名称 主管部门 所在地 办学层次 1 中国石油大学胜利学院 ...山东东营最好的大

    政策
  • 会计学硕士院校排名(最好的会计学校排名)

    会计学硕士院校排名(最好的会计学校排名):1、2022-2023会计学考研学校排名:会计学专业属于工商管理学科下的一个二级学科,本专业培养具备财务、管理、经济、法律等方面的知识和能力,具有分析和解决财务、金融问题的基本

    问答
  • 历史上年龄最小的皇帝,在位19年,13岁继位,年仅32岁

    历史上年龄最小的皇帝,在位19年,13岁继位,年仅32岁:光武帝→刘秀,在位 32 年,宛城起兵,在昆阳以少胜多打败王莽,建立东汉,公元 57 年病逝,终年 63 岁汉明帝→刘庄,在位 18 年 ,10 岁时就通晓了 《 春秋 》, 在位期间人口暴增,

    百科
  • 学生平板电脑排行榜「适合学生用的平板电脑十大排名」

    学生平板电脑排行榜「适合学生用的平板电脑十大排名」:大家好,乐天来为大家解答以下问题,十款值得买的学生平板电脑排行榜,儿童平板电脑推荐很多人还不知道,现在让我们一起来看看吧! 1、优学... 大家好,乐天来为大家...1小米平板4Plus小米

    招生学校
  • 去英国读研需要什么条件「出国留学门槛最低的国家」

    去英国读研需要什么条件「出国留学门槛最低的国家」:去英国读研需要哪些条件 近年来,由于各种原因,在美国学习的中国学生人数逐渐减少。 然而,与英国相反,英国也是一个留学大国,国际学生的数量却在不断上升。 毕竟...2022年研究生考试

    政策
网站公告