Why i am getting unsinged integer after adding two 16 bit integers : I am a newbie to golang, actually, I am new to type based programming. I have only knowledge of JS.

While to going through simple examples in golang tuts. I found that adding a1 + a2 provides a unsgined integer value ? 

    var a1 int16 = 127
    var a2 int16 = 32767
    
    var rr int16 = a1 + a2
    
    fmt.Println(rr)

Result:

    -32642

Excepted: 

 1. The compiler will throw an error as a exceeded the int16 max. 
 2. ( OR ) GO automatically convert the int16 to int32.
 3. 32,894

Can you guys explain why it is showing -32642.