• Задача
  • Решение
  • Обсуждение

1.4 Сложение разных типов

Реализуйте функцию, которая складывает a (int32) и b (uint32) и возвращает результат в int32 или false в случае ошибки.

go

package main

// код который тестируем

const (
MaxInt32 = 1<<31 - 1 // 2147483647 MinInt32 = -1 << 31 // -2147483648 MaxUint32 = 1<<32 - 1 // 4294967295 ) func SumInts(a int32, b uint32) (int32, bool) { // Приводим к int64 для безопасного сложения sum := int64(a) + int64(b) // Проверка переполнения if sum > MaxInt32 {
return 0, false
}
if sum < MinInt32 { return 0, false } return int32(sum), true }

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

00:00:00