小编Tob*_*ore的帖子

使用模块时,Go get找不到本地包

我遇到了go新模块系统的问题,因为我想定义一个本地模块并将其导入主程序中.本地程序包驻留在主程序包/根文件夹的文件夹中.想象一下以下的项目结构$GOPATH.

项目结构

./main.go

package main

import "fmt"
import "example.com/localModule/model"

func main() {
    var p = model.Person{name: "Dieter", age:25}
    fmt.Printf("Hello %s\n", p.name)
}
Run Code Online (Sandbox Code Playgroud)

./model/person.go

package model

type Person struct {
    name string
    age int
}
Run Code Online (Sandbox Code Playgroud)

在根文件夹中,我通过调用初始化了一个模块

go mod init example.com/localModule
Run Code Online (Sandbox Code Playgroud)

model/文件夹中,然后通过调用初始化子模块

go mod init example.com/localModule/model
Run Code Online (Sandbox Code Playgroud)

错误

在根文件夹中调用以下命令失败.

$ go get
go build example.com/localModule/model: no Go files in

$ go build
main.go:4:8: unknown import path "example.com/localModule/model": cannot find module providing package example.com/localModule/model
Run Code Online (Sandbox Code Playgroud)

go get的错误消息被切断了,我不会错误地解析它.

我不打算推动模块到服务器,并与只需要引用本地包的方式model,所以我选择了example.com/localModule/ …

module go go-modules

24
推荐指数
2
解决办法
2万
查看次数

浏览器中文本文件显示错误

看来我在文件编码方面遇到了麻烦。它是在 CentOS 服务器上通过 SSH 使用 vim 创建的文本文件。在浏览器中查看文件时,文件的编码存在问题。

\n\n

我创建了一个测试文件,它解释了这种行为:

\n\n

res.tobscore.com/test.txt

\n\n

这就是我希望输出的样子(这只是一个使用特殊字符来正确显示变音符号的 html 文件):

\n\n

res.tobscore.com/test.html

\n\n

在终端中使用命令 file 和 cat 会显示以下输出:

\n\n
user>file test.txt \ntest.txt: UTF-8 Unicode English text\nuser>cat test.txt \nThis is a testfile. I'm using the German Umlaute and the euro sign, to test\nthe encoding.\nEuro - \xe2\x82\xac\nScharfes S - \xc3\x9f\nAe - \xc3\x84\nOe - \xc3\x96\nUe - \xc3\x9c\n
Run Code Online (Sandbox Code Playgroud)\n\n

如您所见,它是 utf-8 unicode 并且显示正确。您有什么建议吗?为什么我的浏览器(Firefox 和 Chrome)无法显示它?使用我的平板电脑(以德语设置)用本机浏览器检查它显示了正确的结果,但是用 Chrome 尝试它显示了相同的可怕/错误的输出。\n有没有办法设置编码,以便在每个环境中显示它相同的输出?

\n

vim encoding google-chrome utf-8 text-files

4
推荐指数
1
解决办法
2331
查看次数

标签 统计

encoding ×1

go ×1

go-modules ×1

google-chrome ×1

module ×1

text-files ×1

utf-8 ×1

vim ×1