Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is a little misleading. Go will automatically convert a numeric literal (which is a compile time idea not represented at runtime) into the type of the variable it is being assigned to.

Go will not automatically cast a variable of one type to another. That still has to be done explicitly.

  func main() {
    var x int64 = 1
    Func(SpecialInt64(x)) // this will work
    Func(x) // this will not work
  }

  type SpecialInt64 int64

  func Func(x SpecialInt64) {
  }
https://go.dev/play/p/4eNQOJSmGqD


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: