iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >golang支持同名方法吗
  • 933
分享到

golang支持同名方法吗

同名方法GolangGogo语言 2023-05-14 20:05:04 933人浏览 薄情痞子
摘要

golang支持同名方法。Go语言中允许在同一包中创建两个或多个具有相同名称的方法,但是这些方法的接收者必须具有不同的类型;注该功能在Go函数中不可用,这意味着不允许用户在同一包中创建相同名称的方法,如果尝试这样做,则编译器将抛出错误。本教

golang支持同名方法。Go语言中允许在同一包中创建两个或多个具有相同名称的方法,但是这些方法的接收者必须具有不同的类型;注该功能在Go函数中不可用,这意味着不允许用户在同一包中创建相同名称的方法,如果尝试这样做,则编译器将抛出错误。

golang支持同名方法吗

教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

Go 同名方法

在Go语言中,允许在同一包中创建两个或多个具有相同名称的方法,但是这些方法的接收者必须具有不同的类型。该功能在Go函数中不可用,这意味着不允许您在同一包中创建相同名称的方法,如果尝试这样做,则编译器将抛出错误。

语法:

func(reciver_name_1 Type) method_name(parameter_list)(return_type){
    // Code
}
func(reciver_name_2 Type) method_name(parameter_list)(return_type){
    // Code
}

让我们借助示例来讨论这个概念:

范例1:

package main 
  
import "fmt"
  
//创建结构体
type student struct { 
    name   string 
    branch string 
} 
  
type teacher struct { 
    language string 
    marks    int
} 
  
//名称相同的方法,但有不同类型的接收器
func (s student) show() { 
  
    fmt.Println("学生姓名:", s.name) 
    fmt.Println("Branch: ", s.branch) 
} 
  
func (t teacher) show() { 
  
    fmt.Println("Language:", t.language) 
    fmt.Println("Student Marks: ", t.marks) 
} 
  
func main() { 
  
    // 初始化结构体的值
    val1 := student{"Rohit", "EEE"} 
  
    val2 := teacher{"Java", 50} 
  
    //调用方法
    val1.show() 
    val2.show() 
}

输出:

1.png

用法说明:在上面的示例中,我们有两个相同的名称方法,即show(),但接收器的类型不同。这里,第一个show()方法包含s student类型的接收者,第二个show()方法包含t teacher类型的接收者。在main()函数中,我们借助各自的结构体变量来调用这两种方法。如果尝试使用相同类型的接收器创建此show()方法,则编译器将抛出错误。

范例2:

//创建相同名称的方法
//非结构类型的接收器
package main 
  
import "fmt"
  
type value_1 string 
type value_2 int
  
//创建具有相同名称的函数
//不同类型的非结构接收器
func (a value_1) display() value_1 { 
  
    return a + ".com"
} 
  
func (p value_2) display() value_2 { 
  
    return p + 298 
} 
  
func main() { 
  
    //初始化值 
    res1 := value_1("nhooo") 
    res2 := value_2(234) 
  
    // 打印显示结果
    fmt.Println("Result 1: ", res1.display()) 
    fmt.Println("Result 2: ", res2.display()) 
}

输出:

2.png

以上就是golang支持同名方法吗的详细内容,更多请关注编程网其它相关文章!

您可能感兴趣的文档:

--结束END--

本文标题: golang支持同名方法吗

本文链接: https://www.lsjlt.com/news/203415.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • golang支持同名方法吗
    golang支持同名方法。Go语言中允许在同一包中创建两个或多个具有相同名称的方法,但是这些方法的接收者必须具有不同的类型;注该功能在Go函数中不可用,这意味着不允许用户在同一包中创建相同名称的方法,如果尝试这样做,则编译器将抛出错误。本教...
    99+
    2023-05-14
    同名方法 Golang Go go语言
  • golang支不支持同名方法
    本篇内容主要讲解“golang支不支持同名方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“golang支不支持同名方法”吧!golang支持同名方法。Go语言中允许在同一包中创建两个或多个具有...
    99+
    2023-07-04
  • golang支持arm吗
    在当今的计算机技术领域,越来越多的科学技术工作者开始寻找开发语言,以满足不同的需求。对于使用ARM处理器的开发者来说,Golang是否支持ARM成为一个重要的问题。在此篇文章中,我们将探讨Golang对ARM处理器支持的情况,以及如何在AR...
    99+
    2023-05-14
  • golang支持鸿蒙吗
    近年来,移动操作系统市场一直受到 Android 和 iOS 的垄断,这使得很多开发者对于新的操作系统产生了浓厚的兴趣。其中,鸿蒙操作系统备受关注,因为其具有分布式技术和高度安全性,旨在为未来万物互联提供全新的操作系统解决方案。对于使用 G...
    99+
    2023-05-15
  • golang支持泛型吗
    golang支持泛型,Go在最新的版本中添加了对泛型的原生支持,为开发者提供了更好的编程体验和灵活性。该版本引入了一种新的语法和语义,可以让开发者以一种更简洁、更优雅的方式编写泛型代码。开发者现在可以使用类型参数来定义泛型函数和泛型结构体,...
    99+
    2023-07-25
  • Android Things 支持 golang 吗?
    Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《Android Things 支持 golang 吗?》带大家来了解一下##conte...
    99+
    2024-04-05
  • 安卓支持golang吗
    安卓支持golang,借助一些开源工具和库,开发者可以使用Golang编写原生的安卓应用程序,并在安卓设备上运行它们。随着Golang在安卓上的使用不断增加,相关工具和库的发展也会进一步壮大,为安卓开发者提供更多的选择和功能。这一切将有助于...
    99+
    2023-07-31
  • golang支持跨平台吗
    golang支持跨平台。由于其模块化设计和模块化,即代码被编译并转换为尽可能小的二进制形式,因此,golang不需要依赖性;它的代码可以在任何平台上编译,也可以在任何服务器和应用程序上编译。而且Go语言拥有自己的链接器,不依赖任何系统提供的...
    99+
    2023-05-14
    Golang go语言
  • golang支持浏览器吗
    golang不支持浏览器,其本身并不支持直接在浏览器中运行,浏览器主要使用JavaScript作为客户端编程语言,golang可以与浏览器进行交互,并在Web开发中发挥重要作用。本文操作环境:Windows10系统、go1.20版本、DEL...
    99+
    2023-07-19
  • golang支持宏定义吗
    golang不支持宏定义,golang的设计哲学是尽可能地降低语言的复杂性,以便使代码更容易编写、理解和维护。因此,golang选择不提供宏定义,因为可能导致代码的可读性和可维护性较低,宏定义通常包含复杂的模板、条件和操作符,这使得代码的理...
    99+
    2023-07-12
  • php traits支持构造方法吗
    在 PHP 中,Trait 是一种代码复用机制,可以在多个类之间共享代码,避免了多重继承带来的一些问题。然而,许多 PHP 开发者可能会疑惑,PHP Traits 是否支持构造方法,以及在 Trait 中如何使用构造方法。简单来说,PHP ...
    99+
    2023-05-14
    构造方法 traits php
  • MyBatis中支持动态表名吗
    MyBatis并不直接支持动态表名,但可以通过使用动态SQL来实现动态表名的功能。可以通过使用if、choose、foreach等标...
    99+
    2024-04-08
    MyBatis
  • go语言支持方法重载吗
    这篇“go语言支持方法重载吗”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言支持方法重载吗”文章吧。go语言不支持方法...
    99+
    2023-07-04
  • golang同名方法怎么实现
    这篇文章主要介绍“golang同名方法怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“golang同名方法怎么实现”文章能帮助大家解决问题。首先,我们需要了解一下Golang支持的方法。Gol...
    99+
    2023-07-06
  • golang编译后需要环境支持吗
    否,go 编译后的程序不需要环境支持。go 编译器将其编译为机器码并静态链接所有依赖项,从而创建独立的可执行文件,可以在任何兼容的计算机上运行。 Go 编译后需要环境支持吗? 回答:否...
    99+
    2024-04-21
    golang
  • 用Vue Demi同时支持Vue2和Vue3的方法
    目录Vue Demi是什么基本原理v2版本v2.7版本v3版本Vue Demi是什么 如果你想开发一个同时支持Vue2和Vue3的库可能想到以下两种方式: 1.创建两个分支,分别支持...
    99+
    2022-12-16
    Vue Demi同时支持Vue2和Vue3 Vue Demi支持
  • jquery支不支持eq方法
    本篇文章和大家了解一下jquery支不支持eq方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 jquery支持eq方法;该方法能够返回被选元素的指定索引号...
    99+
    2024-04-02
  • 深入了解Golang中的同名方法
    标题:Golang中的同名方法详解 在Golang中,同名方法是指在同一个类型中定义了多个方法,方法名相同但是参数列表不同的情况。这种特性可以让我们更灵活地根据不同参数类型来实现不同的...
    99+
    2024-02-26
    方法 golang 同名 编译错误
  • 学习Golang中同名方法的要点
    Golang语言中的同名方法是指在一个结构体中同时定义多个方法,方法名相同但接收者类型不同。在使用同名方法时,需要注意一些细节,否则会导致编译错误或者意想不到的行为。 下面将通过具体的...
    99+
    2024-02-23
    掌握技巧 golang方法 同名注意事项 编译错误
  • Golang同名方法的技巧和应用
    Golang同名方法的使用技巧 在Go语言中,同一个结构体中可以拥有同名方法,这是一种非常灵活且功能强大的特性。同名方法可以让代码更加简洁易懂,同时也提高了代码的可维护性和可读性。在本...
    99+
    2024-02-24
    方法 技巧 golang go语言 编译错误
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作