Как создать перегруженную функцию в golang?

Пользователь

от jett , в категории: Golang , 8 месяцев назад

Как создать перегруженную функцию в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от raina , 7 месяцев назад

@jett 

В Go отсутствует возможность создавать перегруженные функции, как в некоторых других языках программирования. Вместо этого, в Go используется именованный вариант функции с различными аргументами или возвращаемыми значениями для достижения аналогичного эффекта.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package main

import (
	"fmt"
)

func add(a, b int) int {
	return a + b
}

func addThree(a, b, c int) int {
	return a + b + c
}

func main() {
	fmt.Println(add(1, 2))
	fmt.Println(addThree(1, 2, 3))
}


В этом примере, функции add и addThree выполняют сложение, но принимают разное количество аргументов. Поэтому мы можем использовать разные функции для разных сценариев, и при необходимости добавить больше функций с различными сигнатурами.