golang的{}初始化

之前说到Golang中某些类型可以赋值nil, 某些类型不能赋值nil.

不能赋值nil都是initialized value不为nil的类型, 例如:

bool

int, intN

uint, uintN

floatN

complexN

byte,

rune

string

struct

可以赋值nil都是initialized value为nil的类型, 例如:

array

slice

map

chan

func

interface

pointer

但这些类型中还有另一个问题是, 哪些可以使用{}初始化列表, 哪些不可以?

简单理解, 类型定义中有{}的就可以使用{}初始化列表. 否则不可以.

bool

int, intN

uint, uintN

floatN

complexN

byte

rune

string

chan

pointer

都不可以使用{}初始化列表

但是

array

slice

map

struct

可以使用{}初始化列表.

以上只是简单理解, 准确答案还要参考go的官方资料.

原文发布于微信公众号 - Golang语言社区(Golangweb)

原文发表时间:2017-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

PHP输出语句

prinf_r()是PHP的内置函数可以输出任意的数据(变量,数组,字符串),也是只能输出一个数据

11260
来自专栏Golang语言社区

golang的{}初始化

之前说到Golang中某些类型可以赋值nil, 某些类型不能赋值nil. 不能赋值nil都是initialized value不为nil的类型, 例如: boo...

39290
来自专栏happyJared

Python中的is和==以及字符串驻留机制

  先了解下官方文档中关于 is 和 == 的概念。is 表示的是对象标示符(object identity),而 == 表示的是相等(equality);is...

11410
来自专栏技术小站

找第一个只出现一次的字符

给定一个只包含小写字母的字符串,请你找到第一个仅出现一次的字符。如果没有,输出no。

46610
来自专栏猿人谷

静态成员函数和非静态成员函数的区别?

一个静态成员函数不与任何对象相联系,故不能对非静态成员进行默认访问。 它们的根本区别在于静态成员函数没有this指针,而非静态成员函数有一个指向当前对象的指针t...

22190
来自专栏海天一树

小朋友学Python(28):join方法和eval方法

一、join方法 语法: str.join(sequence) 功能: join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串 参数: seq...

292100
来自专栏python百例

92-re模块基础用法

15920
来自专栏王磊的博客

javascript中Array的操作

concat(组合数组) join(数组转字符串) pop(删除最后一个元素) shift(删除第一个元素) push(在数组尾部添加新元素) unshift(...

28480
来自专栏林冠宏的技术文章

C/C++ char a[ ] 和 char *a 的差别,改变 char *a爆内存错误的原因

对于一些需要传入参数为 char * temp 指针类的函数; 我们定义一个 char a[10] 或char *a 传进去都是可以的。 但是, 如果该函数是会...

191100
来自专栏Golang语言社区

golang的{}初始化

之前说到Golang中某些类型可以赋值nil, 某些类型不能赋值nil. 不能赋值nil都是initialized value不为nil的类型, 例如: boo...

36990

扫码关注云+社区

领取腾讯云代金券