Если значение не нулевое, вернуть максимальное значение для типа
func getIntMaxValue(in8 int8, in16 int16, in32 int32, in64 int64) (int8, int16, int32, int64) {
}
go
package main
import (
"fmt"
"math"
)
func getIntMaxValue(in8 int8, in16 int16, in32 int32, in64 int64) (int8, int16, int32, int64) {
if in8 != 0 {
in8 = math.MaxInt8
}
if in16 != 0 {
in16 = math.MaxInt16
}
if in32 != 0 {
in32 = math.MaxInt32
}
if in64 != 0 {
in64 = math.MaxInt64
}
return in8, in16, in32, in64
}
func main() {
in8 := int8(0)
in16 := int16(32767)
in32 := int32(0)
in64 := int64(9223372036854775807)
result := getIntMaxValue(in8, in16, in32, in64)
fmt.Println(result)
}
В этом примере входные значения in8 и in32 равны 0, поэтому они остаются без изменений. Значение in16 равно 32767, поэтому оно заменяется на максимальное значение для типа int16 - math.MaxInt16. Значение in64 равно 9223372036854775807, поэтому оно заменяется на максимальное значение для типа int64 - math.MaxInt64.
В итоге мы получим результат (0, 32767, 0, 9223372036854775807). То есть возвращается тот же самый набор значений, но с заменой ненулевых значений на максимально возможные для каждого типа данных.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет