Yes and no. To answer this question in detail, you have to understand how a machine learning algorithm goes from an idea to production:
It is a long and tedious process involving several steps. Much of what is considered “Data Science” is actually a tiny portion of the entire journey. Even today, most organizations don’t have a single source of Truth when it comes to data. Instead, everything is scattered around and might take years, before one develops a unified pipeline, providing clean and relevant data.
Only once this pipeline is in place, can a data scientist explore the data and build machine learning models on top. The journey does not stop with building the model, however. Wrapping up the model in a scalable and easy to distribute service is a whole different game.
Now, back to the original question. Where does Go fit in all this? The nature of the language is such that exploration and building models is, to say the least, impractical. This is an area where the dynamic nature of Python, its ecosystem of libraries, and its easy bindings to C/C++ make it the absolute leader.
Where Go excels are the other two sections of the process. The ability to create statically-bound multi-platform binaries for every platform available, makes Go the perfect language of choice for building the tooling and data processing pipeline. Adding to those a “batteries-included” standard library and an easy concurrency model also make it an ideal choice for building the service layer around the machine learning model.
So yes, while Go may never be a language of choice for data exploration and building complex machine learning models, it is the engineer’s best friend when it comes to making the rest of the process possible.