Usually I would expect a panic just as Go does with integer, but I just 
found this from the Golang spec. It's new information to me that 
float-point 0 as divisor isn't specified by standard.
Floating-point operators

For floating-point and complex numbers, +x is the same as x, while -x is 
the negation of x. The result of a floating-point or complex division by 
zero is not specified beyond the IEEE-754 standard; whether a run-time panic 
<https://golang.org/ref/spec#Run_time_panics> occurs is 
implementation-specific.

A const 0.0 divisor is illegal though:

The divisor of a constant division or remainder operation must not be zero:

3.14 / 0.0   // illegal: division by zero



On Tuesday, May 9, 2017 at 9:48:53 AM UTC+8, Michael Jones wrote:
>
> This is the definition of that division.
>
> What result would you prefer?
>
> On Mon, May 8, 2017 at 6:45 PM Van Hu <bom....@gmail.com <javascript:>> 
> wrote:
>
>> Hi, my colleague found this strange behavior in Go today, seems like a 
>> bug?
>>
>> package main
>>
>> import (
>> "fmt"
>> )
>>
>> func main() {
>> var a float64 = 0.0
>> fmt.Println(1.0 / a) // prints +Inf
>> }
>>
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to golang-nuts...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
> -- 
> Michael T. Jones
> michae...@gmail.com <javascript:>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to