Go理论-面试题

面向对象?

面向对象是一种方法论。一种非常实用的系统化软件开发方法。

三大特点:封装、继承、多态

Go和Java的区别

  • Go不允许重载,Java允许
  • Java允许多态,Go没有(但可以通过接口实现)
  • Go语言的继承通过匿名组合完成,基类以Struct的方式定义,子类只需要把基类作为成员放在子类的定义中,支持多继承;而Java的继承通过extends关键字完成,不支持多继承。

GO语言是面向对象的吗?

不是面向对象,但提供了一些面向对象的能力

  • Go 有类型和方法,并且允许面向对象的编程风格,但没有类型层次。
  • Go 中的 "接口 "概念提供了一种不同的方法,我们认为这种方法易于使用,而且在某些方面更加通用。还有一些方法可以将类型嵌入到其他类型中,以提供类似的东西,但不等同于子类
  • Go 中的方法比 C++ 或 Java 中的方法更通用:它们可以为任何类型的数据定义,甚至是内置类型,如普通的、"未装箱的 "整数。它们并不局限于结构(类)

GO语言如何支持面向对象?

封装:通过属性名大小写控制访问权限,提供Setter和Getter方法

继承:通过组合的方式实现继承:直接将要继承的类型放到属性位置。子类型包含了继承类型的相关属性和方法(首字母大写或者小写的字段、方法,都可以),也拥有自己的类型和方法

多态:通过接口实现多态,

相关推荐

  1. Go理论-面试

    2024-06-09 02:42:01       32 阅读
  2. Go面试学习

    2024-06-09 02:42:01       65 阅读
  3. go 面试分享

    2024-06-09 02:42:01       44 阅读
  4. go 面试

    2024-06-09 02:42:01       39 阅读
  5. Go —— GMP面试

    2024-06-09 02:42:01       32 阅读
  6. go模拟经典面试

    2024-06-09 02:42:01       25 阅读
  7. go面试 Day3

    2024-06-09 02:42:01       27 阅读
  8. 面试宝藏】Go并发编程面试

    2024-06-09 02:42:01       30 阅读
  9. 大厂 Go 工程师面试集锦.

    2024-06-09 02:42:01       52 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-09 02:42:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-09 02:42:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-09 02:42:01       82 阅读
  4. Python语言-面向对象

    2024-06-09 02:42:01       91 阅读

热门阅读

  1. 【LC刷题】DAY02:24 19 142

    2024-06-09 02:42:01       24 阅读
  2. 二叉树的前序便利,中序遍历,后序遍历

    2024-06-09 02:42:01       28 阅读
  3. AI学习指南机器学习篇-决策树基本原理

    2024-06-09 02:42:01       26 阅读
  4. 利用Pandas进行数据清洗与过滤:Python实战指南

    2024-06-09 02:42:01       36 阅读
  5. 树莓派【Raspberry Pi-64位】3b+,Pi4J 2.0入门

    2024-06-09 02:42:01       32 阅读
  6. Vue3相关语法内容,组件传值

    2024-06-09 02:42:01       32 阅读
  7. Linux

    2024-06-09 02:42:01       27 阅读
  8. 前端如何封装自己的npm包并且发布到npm注册源

    2024-06-09 02:42:01       36 阅读
  9. Bean的作用域

    2024-06-09 02:42:01       34 阅读
  10. 对硬盘的设想2:纸存,硬指针,软指针

    2024-06-09 02:42:01       32 阅读