• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go语言的面向对象

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

defer关键字

        

        

 Go的内置函数

        

        

        

        Go数组内存分析

         

        

        

       Go的切片内存分析

        

       

       

       

 Go用struct代替其他语言的class

        

         结构体按引用传递

                            

    Go创建结构体实例的4种方式

        1. 第一种方式

             var t1 Teacher 

              t1.Name="a"

        2.第二种方式

             var t2 Teacher = Teacher{"Aaa",445,"asdfasdf"}

       3.第三种方式

            var t *Teacher = new(Teacher)   

            (*t).Name="name" 

             t.Age=100   简写,Go编译器自动优化成*t

        4.第四种方式

             var t8 *Teacher = &Teacher{}

             t8.Name ="Abc"  Go编译器自动优化成*t8

             t8.Age = 100

type Teacher struct{
    Name string
    Age int
    School string
}

func main(){

    //方式1
    var t1 Teacher = Teacher{}
    fmt.Println(t1)
    t1.Name = "zss"
    t1.Age =  32
  

  //方式2
  var t2 Teacher = Teacher{"abc",38,"ccc"}
  fmt.Println(t2)


  //方式3
  var t3 *Teacher = new(Teacher)
  (*t3).Name ="msb"
  (*t3).Age = 100
  fmt.Println(t3.Name)

  //方式4
  var t4 *Teacher = &Teacher{"name",100,"school"}
  fmt.Println(t4)
  fmt.Println(t4.Name)

}

 

 Go方法和函数的区别

    func hanshu(函数参数)(函数返回值) { 函数体 }

    func (t Type) fangfa(方法参数)(方法返回值){  方法体 }

    

      方法的值传递和引用传递

         1.方法中的结构体实例对象默认是值拷贝,在方法中对实例进行修改不会影响到原来的实例对象。如果需要在方法中对原对象进行修改,就必须传递指针类型的对象

         

        

       跨包创建结构体实例

       

       继承

        

       

       接口

package main
import "fmt"

//接口定义
type SayHello interface{
    //声明没有实现的方法
    sayHello()
}

//接口的实现类
type Chinese struct{}
//实现接口的方法
func (person Chinese) sayHello(){
    fmt.Println("你好")
}

//接口的实现类
type American struct{}
//实现接口的方法
func (person American) sayHello(){
    fmt.Println("hello man")
}


//定义函数,接收接口结构体实例
func greet(s SayHello){
   s.sayHello()
}

func main(){
  c := Chinese{}
  m := American{}

  greet(c)
  greet(m)
}
接口实例

   

       多态

          

         断言

          

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go -- 并发编程发布时间:2022-07-10
下一篇:
Go语言学习笔记(四)结构体struct&接口Interface&反射reflect ...发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap