运行时提示打包的版本和当前系统不兼容

This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

这个通用的解决方案就是把下面这两个环境变量配置正确,这里就不过多赘述

  • $env:GOARCH = "amd64"

  • $env:GOOS = "windows"

还有一种小概率问题,就是main.gopackage 名称不是main

参考:Golang:This version of %1 is not compatible with the version of Windows you‘re running.-CSDN博客

无法再外部访问一个包内的变量

在Go语言中,标识符(变量、常量、函数、结构体等)的命名规范是遵循首字母大小写来区分其作用域的。以下是首字母大写和首字母小写标识符的区别:

  • 首字母大写的标识符:在Go语言中,以大写字母开头的标识符被视为导出标识符。导出标识符可以从包(package)外部访问,其他包可以引入该标识符并使用它。这种设计方式可以控制包内标识符的访问权限,避免不必要的暴露。

  • 首字母小写的标识符:以小写字母开头的标识符被视为私有标识符。私有标识符仅在定义它们的包内可见,对于其他包来说是不可访问的。这种封装性保证了包内部实现的隐私和独立性。