Writing cross-platform applications in Go involves adapting code to accommodate different operating system behaviors, which can be challenging due to varying methods of functionality implementation. The lesson highlights three techniques for achieving cross-platform compatibility: using runtime checks, compile-time file segmentation, and build tags. Runtime checks utilize Go's `runtime` package to conditionally execute code based on the operating system detected. Compile-time file segmentation relies on naming conventions to specify OS-specific implementations, while build tags offer a more flexible way to include or exclude features during compilation based on defined conditions. Each approach has its advantages and challenges, providing developers with valuable tools for creating robust, platform-agnostic software.