文件名“插入”的无效标识符字符

时间:2019-08-18 10:06:37

标签: go visual-studio-code

我是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
        }
    }
}

我想知道名称“插入”有什么问题吗?

1 个答案:

答案 0 :(得分:1)

请仔细阅读错误。查看发生错误的位置:第2行,字符1。这意味着您的源文件中有一些无效字符。文件名不是问题。 U+00A0NO-BREAK SPACE,表示文件中的无效不间断空格字符将显示为不可见。

显然,您具有以下内容:

package main
X
import (

X是一个(不可见的)无障碍空格(在HTML中也称为&nbsp;)。

猜测可能是您从网站上复制了此代码,而粘贴中错误地包含了&nbsp;