Задать вопрос
@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 Простой Комментировать
Решения вопроса 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
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы