美文网首页
go语言:结构体与继承

go语言:结构体与继承

作者: lifefruity | 来源:发表于2021-04-21 16:04 被阅读0次
package main

import (
    "fmt"
)

type company struct {
    companyName string
    companyAddr string
}

type Person struct{
    name string
    age int
    company   // 匿名字段
}

func (pp Person) Testfunc(){
    fmt.Println(pp.name)
    fmt.Println(pp.age)
}

func (pp *Person)increaseAge(){
    pp.age += 1
}


func main(){
    //step 1
    tom := Person{name: "tom", age: 18}
    tom.Testfunc()
    fmt.Println(tom.age)

    //step 2
    tom.increaseAge() //想要在方法内改变实例的属性的时候,必须使用指针做为方法的接收者。
    fmt.Printf("增加后的年龄是:%d \n", tom.age)

    //step3 类似继承
    myComm := company{companyAddr: "shanghai", companyName: "mm"}
    luke := Person{name: "luke", age: 20, company: myComm}
    fmt.Printf("%s 在 %s工作 \n", luke.name, luke.company.companyName) //类似继承,与下面的效果是一样的
    fmt.Printf("%s 在 %s工作 \n", luke.name, luke.companyName)

    //step4. 在 Go 语言中,函数名的首字母大小写非常重要,它被来实现控制对方法的访问权限。
    
}


相关文章

  • Go结构体、方法、接口

    1 结构体 Go语言中没有“类”的概念,也不支持像继承这种面向对象的概念。但是Go语言的结构体与“类”都是复合结构...

  • golang继承与接口

    继承 结构体 Go语言的结构体(struct)和其他语言的类(class)有同等的地位,但Go语言放弃了包括继 承...

  • <>

    结构体及其使用方法 结构体的定义 Go语言用嵌入式字段实现了继承吗?? GO语言不存在所谓的继承,只有组合。组合和...

  • go语言:结构体与继承

  • go语言中的继承和实现

    go语言没有类,只有结构体。以及还有接口,如何利用结构体和接口来实现类似与java的继承和实现呢?我试着整理一下。...

  • go面向对象-初始化

    Go语言的结构体(struct)和其他语言的类(class)有同等的地位,但Go语言放弃了包括继承在内的大量面向对...

  • Go 面向对象、接口(二)

    欢迎来我的博客 go 语言仅支持封装,不支持继承和多态go 语言没有class 只有struct 结构体 声明和创...

  • Go语言面向对象三大特性—继承

    Go语言里靠匿名结构体实现继承,嵌入到新的结构体里面。如果一个struct嵌套了另一个匿名结构体,那么这个结构体可...

  • Golang——结构体struct

    Go语言中没有“类”的改变,不支持类的“继承”等面向对象概念。Go语言中通过结构体的内嵌再配合接口比面向对象更具有...

  • 结构体

    结构体初识 结构体指针 结构体的匿名字段 结构体嵌套 Go语言中的OOP

网友评论

      本文标题:go语言:结构体与继承

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