@Cobrakter

Как сделать болле корректно даный цикл?

func divide(x ...float64) float64 {

	a := x[0]

	b := x[1:]

	for _, v := range b {
		a /= v
	}
	return a
}


Перепробывал разные варианты этого маленького кода, но все подобные как выше,я не знаю выглядит вроде плохо. Как сделать код более нормальным мне кажется создавая переменые a,b лишнии как бы код изобразить более лаконично. В голове эта фигня засела 2 день и я понимаю шо все мои решения странные
  • Вопрос задан
  • 104 просмотра
Решения вопроса 1
Вполне нормальное у вас решение. Разве что можно сделать так:
func divide(x ...float64) float64 {
  if len(x) == 0 {
    return 0
  }
  if len(x) == 1 {
    return x[0]
  }
  a := x[0]
  for _, v := range x[1:] {
    a /= v
  }
  return a
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@falconandy
func divide(a float64, x ...float64) float64 {
	for _, v := range x {
		a /= v
	}
	return a
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы