Logo
Книга для начинающих
ВходРегистрация
/
Программирование
/
Курс Golang
/

Возврат структур из функций

Golang: Возврат структур из функций

Задание

Коммерческий опыт и Трудоустройство

Полезное

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном телеграм-сообществе
  1. Привет, Мир!
  2. Go, Go, Go
  3. Переменные
  4. Функции
  5. Логический тип
  6. Математика и числа
  7. Строки
  8. Полезные функции для строк
  9. Условные конструкции
  10. Альтернативная условная конструкция
  11. Константы
  12. Цикл For
  13. Структуры и методы в Go
  14. Генерация строк в циклах
  15. Указатели
  16. Возврат структур из функций
  17. Nil
  18. Преобразование типов
  19. Ошибки
  20. Анонимные функции (Лямбды)
  21. Массивы
  22. Срезы
  23. Цикл for и срезы
  24. Структуры в срезах
  25. Сравнение срезов
  26. Слайсы из срезов
  27. Множественные операции над слайсами
  28. Копирование срезов
  29. Передача срезов в функцию
  30. Сортировка срезов
  31. Карты
  32. Обход карт
  33. Хранение структур в картах
  34. Вложенные карты
  35. Практики использования карт
/
Программирование
/
Курс Golang
/

Возврат структур из функций

Golang: Возврат структур из функций

Задание

Коммерческий опыт и Трудоустройство

Полезное

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются
← ПредыдущийСледующий →
Loading...
← ПредыдущийСледующий →
← ПредыдущийСледующий →

Ваше упражнение проверяется по этим тестам

package solution

import (
	"testing"

	"github.com/stretchr/testify/assert"
)

func TestNewDiscountedProduct(t *testing.T) {
	tests := []struct {
		name      string
		price     int
		discount  int
		wantPrice int
	}{
		{"No discount", 1000, 0, 1000},
		{"10% discount", 1000, 10, 900},
		{"50% discount", 1000, 50, 500},
		{"100% discount", 1000, 100, 0},
		{"Negative discount", 1000, -10, 1000},
		{"Over 100% discount", 1000, 150, 0},
	}

	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			p := NewDiscountedProduct("Test", tt.price, tt.discount)
			assert.Equal(t, tt.wantPrice, p.Price, "Price for test case '%s' did not match", tt.name)
		})
	}
}
← ПредыдущийСледующий →

Решение учителя откроется через:

20:00

waiting_clock
← ПредыдущийСледующий →