内容简介:知识点golang中零值的概念划重点:客官请看下面代码:
知识点golang中零值的概念
整型的零值:0 浮点的零值:0 string的零值:""(字符串空) byte, rune 的零值:0 数组[len]type的零值为: 长度为 len 每个元素的零值为 type 对应的零值。 例如: var c[4]int 的零值为 [0 0 0 0] slice、map、channel和指针类型的零值:nil
划重点:
客官请看下面代码:
package main import "fmt" type Ball struct { val int } type Person1 struct { person1 *Ball } type Person2 struct { person2 Ball } type Bar interface { setVal(newVal int) getVal() int } func (b Ball) getVal() int { return b.val } func (b *Ball) setVal(newVal int) { b.val = newVal } func main() { var person1 Person1 //person1 := &Person1{&Ball{val: 10}} fmt.Println(person1.person1.getVal()) person1.person1.setVal(1000) fmt.Println(person1.person1.getVal()) //var person2 Person2 person2 := &Person2{Ball{val: 20}} fmt.Println(person2.person2.getVal()) person2.person2.setVal(2000) fmt.Println(person2.person2.getVal()) }
看下效果
panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1091506] goroutine 1 [running]: main.main()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- golang的值类型,指针类型和引用类型&值传递&指针传递
- go 方法接受者 是指针类型和非指针类型的 区别
- golang中值类型/指针类型的变量区别总结
- 7. Go 语言数据类型:指针
- Golang研学:在用好Golang指针类型
- golang 指针类型引起的神奇 bug
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
商业模式新生代
亚历山大•奥斯特瓦德 (Alexander Osterwalder)、伊夫•皮尼厄 (Yves Pigneur) / 王帅、毛心宇、严威 / 机械工业出版社 / 2011-8-15 / 88.00元
中文官网:http://www.bizmodel.org 内容简介:当你愉快的看完第一章:商业模式画布,赫然发现这些构成要素全 都交织成一幅清晰的图像在脑海中呈现,它们如何互相影响、如何交互作用全都历历在目。利用商业模式画布分析瑞士银行、Google、Lego、Wii 、Apple等跨国企业,归纳出三种不同的产业 模式,也涵括新近的热门现象免费效应及长尾理论等。在这些有趣的例子中,我们不仅更......一起来看看 《商业模式新生代》 这本书的介绍吧!