摘要:        
内嵌一个T类型,那么T的方法都被纳入。内嵌允许构成复杂的类型,该类型由许多字段构成,每个字段提供一些方法。内嵌能够帮助我们在未命名的结构体类型中声明方法。    阅读全文
posted @ 2018-07-17 15:29
一片湖海
阅读(152)
评论(0)
推荐(0)
        
            
        
        
摘要:        
由于主调函数会复制每一个实参变量,如果要更新变量或避免复制,我们需要指针传递。同样适合于更新接收者。习惯上,如果一个方法使用指针接收者,那么所有的方法应该使用指针接收者。编译器会对变量进行隐式转换:1.实参和形参接受者同类型,不转换2.实参是T,形参是*T。编译器会隐式获取变量的地址。3.实参是*T    阅读全文
posted @ 2018-07-17 15:29
一片湖海
阅读(135)
评论(0)
推荐(0)
        
            
        
        
摘要:        
Go和许多其他面向对象的语言不同,它可以将方法绑定到任何类型上。同一个包下的任何类型都可以声明方法,只要它的类型既不是指针类型也不是接口类型。类型拥有的所有方法名必须是唯一的,但不同的类型可以使用相同的方法名。    阅读全文
posted @ 2018-07-17 15:28
一片湖海
阅读(155)
评论(0)
推荐(0)
        
            
        
        
摘要:        
Go语言只有一种方式控制命名的可见性:首字母大写的标识符是可以从包中导出的。要封装一个对象,必须使用结构体。    阅读全文
posted @ 2018-07-17 15:28
一片湖海
阅读(84)
评论(0)
推荐(0)
        
            
        
        
摘要:        
方法变量,函数只需要提供实参而不需要提供接受者就能够调用。p := Point{1, 2}q := Point{4, 6}d := p.Distance //方法变量fmt.Println(d(q)) //"5"方法表达式,把原来的方法接收者替换成函数的第一个形参,因此它可以像平常的函数一样调用。p    阅读全文
posted @ 2018-07-17 15:27
一片湖海
阅读(153)
评论(0)
推荐(0)
        
                    
                
浙公网安备 33010602011771号