Реализуйте функцию, которая складывает a (int32) и b (uint32) и возвращает результат в int32 или false в случае ошибки.
- Задача
- Решение
- Обсуждение
1.4 Сложение разных типов
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 }
Leave a Reply