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

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: