我是Go语言的新手,正在编写一个简单的插入排序,但是当我将fileName更改为“ insertion.go”时,我得到了错误提示:
insert.go:2:1处的标识符字符U + 00A0无效
但是当我将文件名更改为其他文件时,它工作正常:
insertion.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
}
}
}
我想知道名称“插入”有什么问题吗?
答案 0 :(得分:1)
请仔细阅读错误。查看发生错误的位置:第2行,字符1。这意味着您的源文件中有一些无效字符。文件名不是问题。 U+00A0
是NO-BREAK SPACE,表示文件中的无效不间断空格字符将显示为不可见。
显然,您具有以下内容:
package main
X
import (
X
是一个(不可见的)无障碍空格(在HTML中也称为
)。
猜测可能是您从网站上复制了此代码,而粘贴中错误地包含了
。