Golang | 独树一帜的面向对象的特点

一个程序就是一个世界,有很多的对象(变量)

Golang 语言“面向对象编程”的说明:

  • Golang也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言.所以我们说Golang支持面向对象编程特性是比较准确的
  • Golang中没有类(class),Go语言的结构体(struct)和其他编程语言的类(class)有同等地位,你可以理解Golang是基于struct来实现OOP特性的
  • Golang面向对象编程非常简洁,去掉了传统OOP语言的继承、方法重载、构造函数和析构函数、隐藏的this指针等等
  • Golang仍然有面向对象编程的继承,封装和多态的特性,只是实现的方式和其他OOP语言不一样,比如继承:Golang没有extends关键字,继承是通过匿名字段来实现
  • Golang面向对象很优雅,OOP本身就是语言类型系统(type system)的一部分,通过接口(interface)关联,耦合性低,也非常灵活.同时Golang中面接口编程是非常重要的特性

结构体

定义一个最简单的结构体Cat

package main

import "fmt"

type Cat struct {
	
	Name string
	Age int
	Color string
}

func main() {
	// 创建一个Cat 变量
	var cat1 Cat
	fmt.Println("cat1:", cat1)
}

-----------运行结果:-------------------------------------------------------------------
cat1: { 0 }
Process finished with exit code 0

释:

  • 此时并没有附值 默认为空
  • Name 默认为 “ ” 空字符串
  • Age 默认为 0
  • Color 默认为“ ” 空字符串

让我们对这个 Cat“类” 进行附值

func main() {
	// 创建一个Cat 变量
	var cat1 Cat
	
	cat1.Name = "大橘"
	cat1.Age = 3
	cat1.Color = "橘色"
	
	fmt.Println("cat1:", cat1)
	fmt.Println("猫猫的信息如下:")
	fmt.Println("Name:", cat1.Name)
	fmt.Println("Age:", cat1.Age)
	fmt.Println("Color:", cat1.Color)
}

-----------运行结果 ------------------------------------------------------------------
cat1: {大橘 3 橘色}
猫猫的信息如下:
Name: 大橘
Age: 3
Color: 橘色

Process finished with exit code 0

总结

通过上面的案例和讲解我们可以看出:

  • 结构体是自定义的数据类型,代表一类事物
  • 结构体变量(实例)是具体的,实际的,代表一个具体变量

Smile
如果本文对您有帮助,记得点个赞哦~~~
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值