Métodos com o mesmo nome em Golang

Golang  permite criar dois ou mais métodos com o mesmo nome no mesmo pacote, mas os receptores desses métodos devem ser de tipos diferentes. Esse recurso não está disponível em funções Go, o que significa que você não tem permissão para criar métodos com o mesmo nome no mesmo pacote. Se você tentar fazer isso, o compilador apresentará um erro.

Métodos com o mesmo nome em Golang

Sintaxe:

func(reciver_name_1 Type) method_name(parameter_list)(return_type){

// Code

}


func(reciver_name_2 Type) method_name(parameter_list)(return_type){

// Code

}

Vejamos o exemplo a seguir para entender melhor os métodos com o mesmo nome em Golang:

Exemplo 1:

// Chương trình Go minh họa cách
// tạo các phương thức cùng tên
package main 

import "fmt"

// Tạo các cấu trúc
type student struct { 
	name string 
	branch string 
} 

type teacher struct { 
	language string 
	marks int
} 

// Các phương thức cùng tên nhưng với
// kiểu receiver khác nhau
func (s student) show() { 

	fmt.Println("Name of the Student:", s.name) 
	fmt.Println("Branch: ", s.branch) 
} 

func (t teacher) show() { 

	fmt.Println("Language:", t.language) 
	fmt.Println("Student Marks: ", t.marks) 
} 

// Hàm chính
func main() { 

	// Khởi tạo các giá trị
	// of the structures 
	val1 := student{"Rohit", "EEE"} 

	val2 := teacher{"Java", 50} 

	// Gọi các phương thức
	val1.show() 
	val2.show() 
} 

Resultado:

Name of the Student: Rohit
Branch:  EEE
Language: Java
Student Marks:  50

Explicação: No exemplo acima, temos dois métodos com o mesmo nome, ou seja, show() , mas com tipos de recebimento diferentes. Aqui, o primeiro método show() contém s do tipo student e o segundo método show() contém t do tipo teacher . E na função main() , chamamos ambos os métodos com a ajuda de suas respectivas variáveis ​​de estrutura. Se você tentar criar esses métodos show() com o mesmo tipo de receptor, o compilador gerará um erro.

Exemplo 2:

// Chương trình Go minh họa cách
// tạo các phương thức cùng tên
// với receiver không phải struct
package main 

import "fmt"

type value_1 string 
type value_2 int

// Tạo hàm cùng tên với
// các kiểu receiver không phải struct khác nhau
func (a value_1) display() value_1 { 

	return a + "forGeeks"
} 

func (p value_2) display() value_2 { 

	return p + 298 
} 

// Hàm chính
func main() { 

	// Khởi tạo giá trị này
	res1 := value_1("Geeks") 
	res2 := value_2(234) 

	// Hiện kết quả
	fmt.Println("Result 1: ", res1.display()) 
	fmt.Println("Result 2: ", res2.display()) 
} 

Resultado:

Result 1:  GeeksforGeeks
Result 2: 532
Sign up and earn $1000 a day ⋙

Leave a Comment

Palavras-chave em Go

Palavras-chave em Go

Palavra-chave - Palavras-chave são palavras em um idioma que são usadas para algum processo interno ou representam alguma ação predefinida. Aqui estão as coisas que você precisa saber sobre palavras-chave em Golang.

Tipos de dados em Golang

Tipos de dados em Golang

O tipo de dados especifica o tipo de dados que uma variável Go válida pode conter. Na linguagem Go, os tipos são divididos em quatro categorias, como segue:

Argumentos de função em Golang

Argumentos de função em Golang

Go suporta duas maneiras principais de passar argumentos: Passagem por valor e Passagem por referência. Go usa passagem por valor por padrão.

Função retornando múltiplos valores em Golang

Função retornando múltiplos valores em Golang

Na linguagem Go, você pode retornar vários valores de uma função, usando a instrução return. Em outras palavras, em uma função, uma instrução return pode retornar vários valores.

Instrução Switch em Go

Instrução Switch em Go

Golang como a maioria das outras linguagens de programação tem instrução switch. Veja como usar a instrução switch em Golang.

Casos a serem conhecidos ao usar instruções de seleção em Golang

Casos a serem conhecidos ao usar instruções de seleção em Golang

Neste artigo, aprenderemos como usar o caso padrão para evitar deadlock. Mas primeiro, vamos descobrir o que é o caso de deadlock ao usar o comando select do Golang?

Estruturas e campos anônimos em Golang

Estruturas e campos anônimos em Golang

Estruturas anônimas em Golang são estruturas temporárias sem nomes usadas para propósitos únicos, enquanto campos anônimos permitem a incorporação de campos sem nome.

Como usar Runa em Golang

Como usar Runa em Golang

O que são Runas em Golang? Como usar Runa em Golang? O artigo lhe dará a resposta.

Como usar operadores em Golang

Como usar operadores em Golang

Operadores nos permitem realizar diferentes tipos de operações em operandos. Na linguagem Go, os operadores podem ser classificados com base em suas diferentes funções.

Identificador vazio em Golang

Identificador vazio em Golang

_(sublinhado) em Golang é chamado de Identificador em Branco. Identificador é um nome definido pelo usuário para componentes de programa usados ​​para fins de identificação.

Como criar um programa básico em Golang

Como criar um programa básico em Golang

Olá, mundo! é o primeiro programa básico em qualquer linguagem de programação. Você pode escrever este primeiro programa em Golang seguindo os passos abaixo.

Como instalar o Go no Windows

Como instalar o Go no Windows

O Golang pode ser facilmente instalado no Windows. Abaixo está um guia passo a passo detalhado para instalar o Golang no Windows.

Funções em Go

Funções em Go

Em Go, funções são blocos de código que executam tarefas específicas, que podem ser reutilizadas em todo o programa para economizar memória, melhorar a legibilidade e economizar tempo.

Escopo de Variável em Go

Escopo de Variável em Go

O escopo de uma variável em Golang determina a parte do programa onde essa variável é acessível. Em Go, todos os identificadores têm um escopo lexical que é determinado em tempo de compilação.

Como gravar vídeo da tela no Chromebook

Como gravar vídeo da tela no Chromebook

A gravação de tela é um recurso extremamente útil, mas nem todos os sistemas operacionais vêm com esse recurso integrado.

Maneiras de ganhar giros no Coin Master, ganhe giros no Coin Master

Maneiras de ganhar giros no Coin Master, ganhe giros no Coin Master

Não faltam maneiras de ganhar giros no Coin Master, você precisa basicamente trabalhar duro para ter a chance de receber uma série de giros. Quantrimang.com compilou maneiras de ajudar você a ganhar muitas rodadas no Coin Master.

Como criar uma lista de verificação no Google Docs

Como criar uma lista de verificação no Google Docs

Adicionar uma lista de verificação ao Google Docs é uma etapa necessária quando fazemos uma investigação ou levantamento de algum conteúdo.

Por que os Estados Unidos escolhem madeira em vez de concreto para construir casas?

Por que os Estados Unidos escolhem madeira em vez de concreto para construir casas?

Do que são feitas as casas na América? A resposta é madeira. Em vez de cimento, por que as casas americanas são construídas de madeira? Vamos descobrir juntos!

Eventos astronômicos extraordinários em 2025

Eventos astronômicos extraordinários em 2025

O que esperar do mundo do espaço e da astronomia em 2025? Vamos explorar juntos os momentos astronômicos imperdíveis deste ano!

Último código Strinova e como resgatar o código

Último código Strinova e como resgatar o código

O Código Strinova lhe dará presentes que serão salva-vidas indispensáveis ​​em sua jornada para encontrar a luz novamente.

Último código de desemprego para cultivo imortal e como resgatar o código para obter recompensas

Último código de desemprego para cultivo imortal e como resgatar o código para obter recompensas

O código completo do Cultivo de Desemprego abaixo lhe dará uma série de recompensas.

Calcule o imposto de renda pessoal online, calcule o imposto de renda pessoal online

Calcule o imposto de renda pessoal online, calcule o imposto de renda pessoal online

Esta é uma calculadora automática de imposto de renda pessoal. Você só precisa inserir sua renda, salário do seguro e número de dependentes para calcular sua alíquota de imposto de renda pessoal. Se você quiser saber como calcular o imposto de renda pessoal em detalhes para calculá-lo você mesmo, veja abaixo.

Como criar um índice no Word automaticamente no Word 2019/2016/2010/2007

Como criar um índice no Word automaticamente no Word 2019/2016/2010/2007

Criar um índice automático no Word economiza tempo e aumenta a conveniência ao trabalhar neste editor de texto. Abaixo estão instruções detalhadas para criar um índice automático no Word. Siga-as.

Tudo o que você precisa saber sobre VPN antes de começar a usá-la

Tudo o que você precisa saber sobre VPN antes de começar a usá-la

A mudança para VPNs mudou completamente a privacidade online de muitas pessoas, mas há algumas coisas que você precisa saber antes de começar a usá-las.

Como corrigir o problema do Painel de Controle da NVIDIA que desapareceu no Windows 11/10

Como corrigir o problema do Painel de Controle da NVIDIA que desapareceu no Windows 11/10

Alguns usuários relataram o problema do Painel de Controle da NVIDIA desaparecer no Windows 11/10. Os usuários não conseguem encontrar o aplicativo no menu de contexto da área de trabalho, na bandeja do sistema ou no Painel de Controle do Windows.

Como habilitar a proteção contra roubo do iPhone

Como habilitar a proteção contra roubo do iPhone

O recurso Proteção contra Dispositivo Roubado no iPhone é um novo recurso da versão recém-lançada do iOS 17.3, que melhora a segurança do telefone, especialmente em caso de perda ou roubo.

Causas e soluções para a luz da geladeira não acender

Causas e soluções para a luz da geladeira não acender

A luz da sua geladeira não acende geralmente devido a três atividades principais que aparecem neste artigo.

Como limpar aquecedores a óleo e aquecedores de ventilador corretamente

Como limpar aquecedores a óleo e aquecedores de ventilador corretamente

Se você deseja limpar seu aquecedor a óleo e aquecedor com ventilador, não pode perder nosso artigo abaixo.

Transforme lâminas cegas de liquidificador em lâminas afiadas num piscar de olhos

Transforme lâminas cegas de liquidificador em lâminas afiadas num piscar de olhos

Com apenas esse ingrediente aparentemente inútil, você pode transformar uma lâmina de liquidificador cega em uma afiada num piscar de olhos.