When building applications that need access to native APIs, we can use CGo. Although not much harder for regular development, this does make cross compiling much more complicated. For every target platform you want to build for, there must be a C compiler that knows how to create native binary files. This appendix outlines the steps required to set up cross compilation targets for each combination referenced earlier in this book.
Most Go applications don't require this setup for cross compiling as the Go compiler is designed to build for all supported platforms. Additional steps, such as those following, will be required if the resulting applications (or the toolkits they use) are linking to operating system libraries through CGo.