package main: read unexpected NUL in input
我的问题:
go build -o wfs_server wfs_server_lite.go wfs_websockets_hub.go
解决方法:
go build -o wfs_server.exe wfs_server_lite.go wfs_websockets_hub.go
今天在win7上安装了golang(go语言)开发环境。按照Runoob教程上提供的说明,进行了环境的配置。但是,在进行Hello world测试时,出现了 package main: read unexpected NUL in input 错误。开始以为是环境变量错误,重新配置了几遍,还是没有解决问题。最后,发现是源程序文档编码格式错误!
解决办法
使用notepad进行源代码文档编辑,选择编码格式为UTF-8格式;
错误原因
As a side note: Windows has funny (somewhat inaccurate) names:
Both UTF-8 and UTF-16 formats use unicode code points. Windows calls UTF-16
LE "Unicode". As go source code uses UTF-8, typical ASCII range characters
are 1 byte each
'h' 'e' 'l' 'l' 'o'
while UTF-16 are two bytes each:
0 'h' 0 'e' 0 'l' 0 'l' 0 'o'
Thus because the Go compiler expects UTF-8, it interperts the UTF-16 zero
bytes as invalid NULL characters.
-Daniel