Golang编译错误 read xxxxx.go: unexpected NUL in input

579 阅读1分钟

现象:Vscode开启新文件夹后,无法对源文件进行编译或运行

```go build xxxxx.go
```read xxxxx.go: unexpected NUL in input
```go run xxxxx.go
```read xxxxx.go: unexpected NUL in input

原因排查:分别做过Vscode的升级、golang版本的升级、切换文件夹进行flutter项目的编译、terminal默认配置文件的切换

排查结果:无关联

界面对比:
原文件夹 image.png 当前文件夹 image.png

对比结果:文件字符编码不同,分别为UTF-8UTF-16LE

解决方法

  1. Ctrl+Shift+P 呼出 Command Palette,输入change file encoding按下回车,选中reopen with Encoding,再选需要的编码格式
  2. 删除当前文件,重新新建文件

后续调查
该文件并非正常建立,而是使用Windows下的命令新建导致

```echo. > xxxxx.go

:且在调查过程中,该编译异常出现的原因还有多种,当前并未遇到,在此保留此异常