美文网首页
2018-09-20 Go学习拾贝

2018-09-20 Go学习拾贝

作者: linanwx | 来源:发表于2018-11-07 14:54 被阅读0次

Go的指针与值在作为接受者和参数时的表现不同

方法与指针重定向
比较前两个程序,你大概会注意到带指针参数的函数必须接受一个指针:

var v Vertex
ScaleFunc(v, 5) // 编译错误!
ScaleFunc(&v, 5) // OK
而以指针为接收者的方法被调用时,接收者既能为值又能为指针:

var v Vertex
v.Scale(5) // OK
p := &v
p.Scale(10) // OK
对于语句 v.Scale(5),即便 v 是个值而非指针,带指针接收者的方法也能被直接调用。 也就是说,由于 Scale 方法有一个指针接收者,为方便起见,Go 会将语句 v.Scale(5) 解释为 (&v).Scale(5)。

另外,Go会将指针的.运算自动解释为(*).

相关文章

  • 2018-09-20 Go学习拾贝

    Go的指针与值在作为接受者和参数时的表现不同 方法与指针重定向比较前两个程序,你大概会注意到带指针参数的函数必须接...

  • 2018-08-30 Go学习拾贝

    在函数中,简洁赋值语句 := 可在类型明确的地方代替 var 声明。 函数外的每个语句都必须以关键字开始(var,...

  • 稻盛和夫在海尔

    2018-09-20 (稻盛哲学学习会)打卡第160天 姓名:王燕君 部门:分水碶 组别:利他三组 【知~学习】 ...

  • Go语言开发资料收集

    【Go 边看边练 -《Go 学习笔记》】系列Go 边看边练 -《Go 学习笔记》系列(一)- 变量、常量Go 边看...

  • go语言学习-从基础到实战到源码分析

    收集的一些go语言学习资料,有go基础学习系列,go项目实战,go进阶-go源码分析,还有go的一些书籍,go的架...

  • go 基础学习

    1 go 基础go 语法基础go 官方资料如果由C ,C++ 基础, 学习go 比较容易,本文学习go ,主要是为...

  • Go 语言学习技巧和编程思维

    Go 语言学习技巧和编程思维 一、了解 Go 语言 了解 Go 语言背景 学习 Go 语言,首先要了解 Go 语言...

  • go语言学习

    基础 go的学习,感谢Go By Example、go网络编程与go语言标准库随着学习的深入,此文章持续更新......

  • Go

    文章 Go Data Structures 学习资料 Go by Example Go Web Examples ...

  • GO——学习笔记(五)

    上篇:GO——学习笔记(四) 下篇:GO——学习笔记(六) 示例代码——go_4 https://github.c...

网友评论

      本文标题:2018-09-20 Go学习拾贝

      本文链接:https://www.haomeiwen.com/subject/lrsnnftx.html