你可能正在写一个要同时兼容 windows 和 linux 系统的程序,比如设置终端中输出的文本的前景色和背景色。
golang输出带颜色的信息 linux and windows
在 windows 下需要调用 DLL,而在 linux 下却不存在这个程序,所以会报错,所以此时需要借助 Golang 语言层面的支持来解决这种问题。
方法一:文件名增加后缀
1、平台区分:文件名_平台,filename_xxx.go
可选为:windows, unix, posix, plan9, darwin, bsd, linux, freebsd, nacl, netbsd, openbsd, solaris, dragonfly, bsd, notbsd, android,stubs
2、CPU类型区分:文件名_CPU架构,filename_xxx.go
可选为:amd64, 386, arm64, arm, mips64, s390,mips64x,ppc64x, nonppc64x, s390x, x86,amd64p32
其中 386就是x86,然后 x64会分为amd64和arm64
方法二:在文件头部加上注解:
只在 windows 系统下编译此文件,则需要在文件头部加上
// +build windows
在非 windows 系统下编译此文件,则需要在文件头部加上
// +build !windows
同时,如果不编译某个文件,会导致在这个文件里面定义的方法,对象,变量不存在,所以需要做一定的调整。