go - 具有文件名“插入”的无效标识符字符
问题描述
我是 Go 新手并编写了一个简单的插入排序,但是当我将文件名更改为“insertion.go”时出现错误:
insert.go:2:1 处的标识符字符 U+00A0 无效
但是当我将文件名更改为其他任何内容时,它都可以正常工作:
插入.go
package main
import (
"fmt"
"math/rand"
"time"
)
func main() {
slice := generateSlice(20)
fmt.Println("\n--- Unsorted --- \n\n", slice)
insertionsort(slice)
fmt.Println("\n--- Sorted ---\n\n", slice, "\n")
}
func generateSlice(size int) []int {
slice := make([]int, size, size)
rand.Seed(time.Now().UnixNano())
for i := 0; i < size; i++ {
slice[i] = rand.Intn(999) - rand.Intn(999)
}
return slice
}
func insertionsort(items []int) {
var n = len(items)
for i := 1; i < n; i++ {
j := i
for j > 0 {
if items[j-1] > items[j] {
items[j-1], items[j] = items[j], items[j-1]
}
j = j - 1
}
}
}
我想知道名称“插入”有什么问题?
解决方案
请仔细阅读错误。查看错误发生的位置:第 2 行,字符 1。这意味着您的源文件中有一些无效字符。文件名不是问题。U+00A0
是一个NO-BREAK SPACE,这意味着您的文件中有一个无效的不间断空格字符,它将显示为不可见。
显然,您有以下内容:
package main
X
import (
哪里X
是(不可见的)NO-BLOCK SPACE(也就是
HTML 语言)。
猜测可能是您从网站复制粘贴了此代码,并且
粘贴中错误地包含了 a。
推荐阅读
- visual-studio-code - 如何禁用 VS Code 自动重命名标签/HTML 镜像功能?
- php - Spout 无法处理 8 兆字节的 excel 文件。为什么?
- html - 从外部硬盘驱动器播放时 HTML5 音频控件显示为灰色
- ngrx - 使用 NGRX 8 和 createAction,我如何使用强类型 @Effect?
- sql - 如何将一个表中的数据作为 PostgreSQL 数组插入到另一个表中?
- php - WordPress 更新到最新的 class-wp-block-parser.php 后 preg_match() 错误
- r - R:如何像在 Excel 中那样定义圆函数?
- reactjs - 图片无法显示,是什么原因?
- c# - 从 ASP.net Core API 下载 excel 文件
- react-native - 变量“”已强制非空类型“字符串”的空值!”GraphQl 错误