Thank you for the clarification. Axel Wagner <axel.wagner...@googlemail.com>于2017年2月27日 周一上午8:43写道:
> Because v := -1 declares a new variable and saves it in v - and the > default type of an integer constant is int. After that, this int gets > converted to a uint, which is fine. > In the case of uint(-1), you have an untyped constant, which you then try > to cast directly to a specific type (making a typed constant). But a > uint-constant can't be -1. > > So, there are two differences: one is between a constant and a variable > (for example, uint(int(-1)) also doesn't work, as you are still making a > constant) and two, between casting an int to a uint and trying to create a > negative uint const. > > On Mon, Feb 27, 2017 at 12:16 AM, Felix Sun <sunf...@gmail.com> wrote: > > But why these two way don't have consistent behavior ? > > uint(-1) > > > v :=-1 > uint(v) > > > Michael Jones <michael.jo...@gmail.com>于2017年2月26日 周日上午11:35写道: > > yes. > https://en.wikipedia.org/wiki/Two's_complement > > On Sat, Feb 25, 2017 at 10:21 PM, Felix Sun <sunf...@gmail.com> wrote: > > https://play.golang.org/p/TmxMmltHGH > > package main > > import ( > "fmt" > ) > > func main() { > var f int = -1 > fmt.Println("become huge number:", uint(f)) > fmt.Println("this panic", uint(-1)) > > } > > -- > 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. > > > > > -- > Michael T. Jones > michael.jo...@gmail.com > > -- > 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. > > > -- 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.