Golang编译报错 ‘invalid char’

news/2025/2/22 12:22:13/

现象

最近在新电脑安装go环境,发现 golang 包名如果有汉字就不能编译运行。

具体来讲,就是 go mod tidy 报错 ‘invalid char’

在这里插入图片描述

但是,我在以前的电脑上运行 go mod tidy 没有问题

原因

我对比了 go sdk 版本,旧电脑用 go 1.13,新电脑用 go 1.18,看起来是 go sdk 的影响。

解决方法

  1. 方案一,把中文包名全部改成英文
  2. 方案二,使用较老版本的sdk

我采用方案二,新电脑安装老版本的 sdk。

不是不愿意用英文,是因为有的代码是看书或者视频积累的学习资料,用中文反而便于管理。

总之,老的代码就不动了,新的包名尽量翻译成英文,同时降级 go sdk。

go sdk 下载地址 All releases

经过验证:go 1.13 到 1.15 支持中文包名,1.16 开始不支持。

我在官方找到sdk的升级记录,想找到能够兼容中文包名的办法,毕竟日本、韩国等非英文国家的用户也会遇到类似问题,官方或许提供了兼容方式。

但是目前我还没找到,聪明的你如果有相关信息,麻烦评论区分享一下。

希望本文对你有帮助,全文完。


http://www.ppmy.cn/news/41831.html

相关文章

国产化复旦微电子 FMQL45T900 替代Xilinx ZYNQ ARM+FPGA 7045方案(评论区有联系方式)

FM4550国产化开发板 功能接口 - - 系统框图 - - 对应参数 - 1.主要参数 系统1: FPGA型号:FMQL45T900 PS内核:四核ARM Cortex-A7,主频800MHz PS端内存:1GB DDR3,数据速率1066Mbps,32bit PL端内存&…

通过实战探究 GraalVM 静态编译

通过实战探究 GraalVM 静态编译GraalVM 是什么什么是 Java 静态编译GraalVM 静态编译优点GraalVM 静态编译缺点Substrate VM 是什么native image 运行时的内存管理Serial GCG1 GCEpsilon GC预执行目标应用程序静态编译目标应用流程命令行模式配置文件模式Maven 模式Gradle 模式…

CefSharp.WinForms 112.2.70最新版体验

一、准备 下载最新包及依赖包(对应.NET4.5.2,后续版本可能4.6.2+)到packages中,本地升级更快 NuGet Gallery | CefSharp.WinForms 112.2.70 NuGet Gallery | CefSharp.Common 112.2.70 NuGet Gallery | cef.redist.x64 112.2.7 NuGet Gallery | cef.redist.x86 112.2.…

解决debian升级后没有声音

快速方案: apt update apt install firmware-sof-signed firmware-misc-nonfree #安装两个驱动 ## 然后添加一个内核参数,inteldsp.conf这个文件原来是不存在的,保险起见还是附加写入。 echo "options snd-intel-dspcfg dsp_driver1&qu…

Linux(centos7)安装防火墙firewalld及开放端口相关命令

安装firewalld 防火墙命令: yum install firewalld 安装完成,查看防火墙状态为 not running,即未运行,输入命令开启: 添加开放端口: 防火墙相关命令: 查看防火墙状态 systemctl status firewa…

JS内置对象2

数组对象: (1)检测是否为数组: …

机器学习 00 归一化/标准化

目录 一、归一化/标准化 1.1 为什么我们要进行归一化/标准化? 二、归一化 2.1 定义 2.2 公式 2.3 归一化总结 三、标准化 3.1 定义 3.2 公式 3.3 标准化总结 一、归一化/标准化 1.1 为什么我们要进行归一化/标准化? 特征的单位或者大小相差较大,或者某…

【c/c++编译工具】——Cmake的学习

简介 目录 简介 1. Cmake的基本语法 2. 常用指令 3. CMake常用的变量 4. CMake编译工程 5. 构建方式 6. 实战---CMake代码实战 CMake是一个跨平台的安装编译工具,可以用简单的语句来描述所有平台的安装(编译过程)。CMake可以说已经成为大部分C开源项目标配…