All of the languages listed will get the job done and done well. I've built API's out in PHP and am playing around with Go (and Rust) on personal projects. In my opinion something like Go is a great choice long term because of its concurrency model and type checking capabilities. I've not used it professionally so I can't recommend it as of now. PHP is... well its kinda weird. Not my favorite to work with but its one of the most popular languages out there for a reason.
NodeJS using something like SailsJS or HapiJS allows one to create extremely robust and flexible RESTful API's. I am actively maintaining a few using the former and, while its far from perfect (remember kids, technology is all about trade offs), its a great fit for the most common use cases out there. The biggest downside to Node is the lack of strict type checking, which allows for extremely fast development up front, but then the pace slows down as your application increases in complexity. Libraries like lodash help a bit with type checking functions such as _.isString(myVar); but it mucks up your code quite a bit and makes it harder to read. Typescript is very helpful in this regard but is not always compatible with the tools and frameworks out there that one would want to use. Same goes for something like Babel.