Hacker News new | past | comments | ask | show | jobs | submit login

Indeed. They are pointers. You just cannot do pointer arithmetic on them.

In declaration the '' goes on the left though. In general Go's syntax inverts the declaration w.r.t C/C++:

    a int   vs  int  a
    b *int  vs  int* b

    type X int  vs  typedef int X
NOTE: you can do unsafe pointer arithmetic using the "unsafe" package. You can convert any pointer to a unsafe.Pointer and then you can convert it to a uintptr.

There are also library functions designed to work with that, for example atomic.AddUintptr that atomically adds an offset to a pointer.

Although not intended as general use, it can be useful in low level library code. Otherwise you can do pretty much everything using slices.




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

Search: