![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
golang
shasha6
这个作者很懒,什么都没留下…
展开
-
Go 命名返回值与匿名返回值
命名返回值(named_results)Go 的返回值可被命名,它们会被视作定义在函数顶部的变量。返回值的名称应当具有一定的意义,它可以作为文档使用。没有参数的return语句返回已命名的返回值。也就是直接返回。直接返回语句应当仅用在下面这样的短函数中。在长的函数中它们会影响代码的可读性。匿名返回值函数签名中命名返回值变量,只指定返回值类型。由return 指定返回值。任何一个非命名返回值(使用非命名返回值是很糟的编程习惯)在return语句里面都要明确指出...原创 2021-04-15 17:01:31 · 1178 阅读 · 0 评论 -
Golang中的构造方法
##面向对象语言中构造方法构造方法是java里的称呼,是一种特殊的方法,其方法名和所属类的类名相同,用于类的初始化,即当实例化一个类的时候,会自动调用这个方法。在python里就是def init()构造方法英文叫做constructor。我对构造方法的理解是顾名思义,通过这个方法构造一个对象,即初始化这个对象的属性等GolangGolang作为结构化的语言是没有面向对象语言中的构造方法的...原创 2020-03-08 20:59:37 · 1215 阅读 · 0 评论 -
Golang pointer receiver 为空时方法的执行
pointer receiver 为nil 时 ,函数依然可以正常执行,只有保证执行方面中没有调用receiver相关属性或方法。 这个 Java 中 对象为空,调用方法时出现NullPointerException完全不一样。package mainimport ( "fmt")type Cat struct {}func (c *Cat) Speak() strin...原创 2020-02-28 16:19:08 · 418 阅读 · 0 评论 -
Golang 中方法 value receiver 和 pointer receiver 区别
在什么情况下用Value receiver 什么情况下用pointer receivertype T struct { a int}func (tv T) Mv(a int) int { return 0 } // value receiverfunc (tp *T) Mp(a int) int { return 1 } // pointer receiver...原创 2020-02-27 10:59:27 · 658 阅读 · 0 评论 -
Golang:中“静态”方法
问题:在纯面向对象语言Java 、Python等编程语言中有静态方法。于是有人就会问 Golang中是如何编写静态方法的呢?答案:Golang 不支持静态方法,完全可以使用 独立func 的方式代替。 如果牵强附会的实现静态方法。如下两种解决问题的方法:创建一个名为的独立包,并将该方法定义为包中的全局函数。这样,我需要为几个方法创建一个新包。此外,每当我需要这样的静态方法时,我必须定义新...原创 2020-02-23 22:54:01 · 11489 阅读 · 1 评论 -
golang 语法小计
结构体学习过C语言的同学肯定都知道结构体,没错,就是那个东西 0.0,结构体让Go有了面向对象的概念type Small struct { Name string //公有变量大写 Sex string kg int //私有变量小写}如何申请一个结构体meStruct := new(Small) //可以申请一个空的结构体,返回一个指针meStruct := &...原创 2020-02-23 22:37:13 · 106 阅读 · 0 评论 -
Golang 语法命名返回值
Go 的返回值可以被命名,并且像变量那样使用。返回值的名称应当具有一定的意义,可以作为文档使用。没有参数的return语句返回结果的当前值。也就是`直接`返回。示例:package mainimport "fmt"func funcnamed() (a, b int) { x = 5 y = 10 return}func main() { fmt.Pri...原创 2020-02-17 17:23:51 · 258 阅读 · 0 评论