为什么在我的 Golang 练习中 Maxint 和 Minint 是颠倒的?

huangapple go评论82阅读模式
英文:

Why Maxint and Minint are inverted in my Golang exercise?

问题

我正在为你翻译以下内容:

我试图通过以下方式找到一些整数的最大值和最小值:

    min, max = math.MinInt64, math.MaxInt64

    if n > max {
		max = n
		}
    if n < min {
		min = n
	}

但是当我检查解决方案时,值被颠倒了:

   min, max = math.MaxInt64, math.MinInt64

有人可以简单地解释一下这个概念吗?谢谢。

英文:

I was trying to find max and min of some ints by using this

    min, max = math.MinInt64, math.MaxInt64

    if n &gt; max {
		max = n
		}
    if n &lt; min {
		min = n
	}

But when I checked the solution, the values were inverted

   min, max = math.MaxInt64, math.MinInt64

Can anyone explain me this concept in a simple way. Thanks

答案1

得分: -1

这里没有什么需要解释的,可能是解决方案中的一个简单错误。math.MinInt64 的值存储在 min 中,math.MaxInt64 的值存储在 max 中。

如果你的代码没有给出正确的结果,请分享你的代码和测试案例。

参考 短变量声明

另外,如果 n 的类型是 Int64,那么条件

n > max

或者

n < min

永远不会满足,因为 n 会超出 Int64 的范围。
n 的值将始终在 min 和 max 之间,即

math.MinInt64 < n < math.MaxInt64

英文:

Nothing to explain here, it might be a simple mistake in the solution. Value of math.MinInt64 is stored in min and math.MaxInt64 is stored in max

If your code doesn't give proper results share your code and test cases.

See Short Variable Declarations

Also if n is of type Int64 then the condition

n &gt; max

or

n &lt; min

could never be satisfied as n would be out of bounds for Int64.
The value of n will always lie between min and max, i.e.
> math.MinInt64 < n < math.MaxInt64

huangapple
  • 本文由 发表于 2022年3月30日 03:33:02
  • 转载请务必保留本文链接:https://go.coder-hub.com/71667852.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定