go语言学习(五)

本文主要介绍了Go语言中的结构体,包括结构体定义、变量可见性规则、结构体作为参数传递、结构体方法的封装、匿名字段(继承)以及方法继承(多态)。此外,还涉及到了接口的定义、继承,空接口类型和断言的概念。
摘要由CSDN通过智能技术生成

1.结构体定义和变量可见性规则

2.结构体做参数传递

3.结构体方法(封装)

4.匿名字段(继承)

5.方法继承(多态)

6.接口的定义、继承

7.空接口类型

8.断言

一、结构体

结构体是一种聚合的数据类型,是一个对象多个属性的集合体。(个人暂时理解为一个类)

package main
 
import "fmt"
 
//定义一个结构体,其中有id,年龄,姓名,性别的属性
type Person struct {
 
    Id   int
    Age  int
    Name string
    sex  string
}
 
func main() {
 
 
    //声明一个Person类型的变量并赋值
    p := Person{
 
        Id:   1,
        Age:  20,
        Name: "google",
        sex:  "M",
    }
 
    //打印p的信息
    fmt.Println(p)
}

打印结果为:{1 20 google M}

可见性规则:在结构体Person中,sex首字母为小写,其他均为大写。go语言是区分大小写的,首字母为大写的属性、方法其他包也可以调用,而小写的只能在包内调用。

二、结构体做参数传递

package main
 
import "fmt"
 
//定义一个结构体,其中有id,年龄,姓名,性别的属性
type Person struct {
 
    Id   int
    Age  int
    Name string
    sex  string
}
 
func sayHello(p Person) {
 
    fmt.Printf("%v say Hello Go!!!", p.Name)
}
 
func main() {
 
 
    //声明一个Person类型的变量并赋值
    p := Person{
 
        Id:   1,
        Age:  20,
        Name: "google",
        sex:  "M",
    }
 
    sayHello(p)
}

添加sayHello方法,并传入参数p,程序会打印  google say Hello Go!!!。

三、结构体方法(封装)

将操作封装到方法内部,对外提供方法名,调用者只需要知道方法的用途,不用关心具体实现。

package main
 
import "fmt"
 
//定义一个结构体,其中有id,年龄,姓名,性别的属性
type Person struct {
 
    Id   int
    Age  int
    Name string
    sex  string
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值