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.
Métodos em Golang são como funções, mas com uma grande diferença: eles têm um argumento receiver , que permite acesso às propriedades do receiver . O receptor pode ser do tipo struct ou não struct, mas ambos devem estar no mesmo pacote. Não é possível criar métodos para tipos definidos em outros pacotes, incluindo tipos internos como int ou string ; Caso contrário, o compilador reportará um erro.
Por exemplo:
package main
import "fmt"
// Định nghĩa một struct
type person struct {
name string
age int
}
// Định nghĩa một phương thức với struct receiver
func (p person) display() {
fmt.Println("Name:", p.name)
fmt.Println("Age:", p.age)
}
func main() {
// Tạo một phiên bản của struct
a := person{name: "a", age: 25}
// Gọi phương thức
a.display()
}
Resultado:
Name: a
Age: 25
Sintaxe
func(receiver_name Type) method_name(parameter_list) (return_type) {
// Code
}
Receptor: Pode ser acessado usando este método.
Método com Receptor do tipo struct
Em Go, você pode definir um método em que o receptor é do tipo struct. O receptor é acessível dentro do método. O exemplo anterior ilustra essa abordagem com um Receptor do tipo struct.
Método com Receptor não é do tipo struct
Go também permite que métodos tenham receptores não-struct, desde que o tipo de receptor e a definição do método estejam no mesmo pacote. Você não pode definir um método com um tipo de receptor de outro pacote (por exemplo, int, string).
Por exemplo:
package main
import "fmt"
// Tạo một kiểu tùy biến dựa trên int
type number int
// Định nghĩa một phương thức với receiver không phải struct
func (n number) square() number {
return n * n
}
func main() {
a := number(4)
b := a.square()
fmt.Println("Square of", a, "is", b)
}
Resultado:
Square of 4 is 16
Método com ponteiro receptor
Em Go, os métodos podem ter receptores de ponteiros. Isso permite que as alterações feitas no método sejam refletidas no chamador, o que não é possível com receptores de valor.
Sintaxe:
func (p *Type) method_name(...Type) Type { // Code}
Por exemplo:
package main
import "fmt"
// Defining a struct
type person struct {
name string
}
// Phương thức với receiver pointer để chỉnh sửa dữ liệu
func (p *person) changeName(newName string) {
p.name = newName
}
func main() {
a := person{name: "a"}
fmt.Println("Before:", a.name)
// Gọi phương thức này để thay đổi tên
a.changeName("b")
fmt.Println("After:", a.name)
}
Resultado:
Before: a
After: b
O método aceita ponteiro e valor
Ao contrário das funções, os métodos Go podem aceitar receptores de valor e ponteiros. Você pode passar ponteiros ou valores e o método tratará adequadamente.
Por exemplo:
package main
import "fmt"
type person struct {
name string
}
// Phương thức với receiver pointer
func (p *person) updateName(newName string) {
p.name = newName
}
// Phương thức với receiver value
func (p person) showName() {
fmt.Println("Name:", p.name)
}
func main() {
a := person{name: "a"}
// Gọi phương thức con trỏ cùng giá trị
a.updateName("b")
fmt.Println("After pointer method:", a.name)
// Gọi phương thức giá trị với con trỏ
(&a).showName()
}
Resultado:
After pointer method: b
Name: b
Diferença entre método e função
Método | Mandíbula |
Contém um receptor | Não contém receptor |
É possível definir métodos com o mesmo nome, mas tipos diferentes. | Funções com o mesmo nome, mas tipos diferentes, não são permitidas. |
Não pode ser usado como superlativo | Podem ser usados como objetos superordenados |
A gravação de tela é um recurso extremamente útil, mas nem todos os sistemas operacionais vêm com esse recurso integrado.
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.
Adicionar uma lista de verificação ao Google Docs é uma etapa necessária quando fazemos uma investigação ou levantamento de algum conteúdo.
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!
O que esperar do mundo do espaço e da astronomia em 2025? Vamos explorar juntos os momentos astronômicos imperdíveis deste ano!
O Código Strinova lhe dará presentes que serão salva-vidas indispensáveis em sua jornada para encontrar a luz novamente.
O código completo do Cultivo de Desemprego abaixo lhe dará uma série de recompensas.
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.
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.
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.
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.
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.
A luz da sua geladeira não acende geralmente devido a três atividades principais que aparecem neste artigo.
Se você deseja limpar seu aquecedor a óleo e aquecedor com ventilador, não pode perder nosso artigo abaixo.
Com apenas esse ingrediente aparentemente inútil, você pode transformar uma lâmina de liquidificador cega em uma afiada num piscar de olhos.