当前位置: 首页 > 面试题库 >

如何使用Go语言导入和使用同名的不同软件包?

费凯康
2023-03-14
问题内容

例如,我想在一个源文件中同时使用text / template和html / template。但是下面的代码会引发错误。

import (
    "fmt"
    "net/http"
    "text/template" // template redeclared as imported package name
    "html/template" // template redeclared as imported package name
)

func handler_html(w http.ResponseWriter, r *http.Request) {
    t_html, err := html.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`)
    t_text, err := text.template.New("foo").Parse(`{{define "T"}}Hello, {{.}}!{{end}}`)

}

问题答案:
import (
    "text/template"
    htemplate "html/template" // this is now imported as htemplate
)

在规范中阅读有关它的更多信息。



 类似资料:
  • Go 语言程序组成 和C语言程序一样,Go语言程序也是由众多函数组成的 和C语言程序一样,程序运行时系统会自动调用名称叫做 main 的函数 和C语言程序一样,如果一个程序没有主函数,则这个程序不具备运行能力 和C语言程序一样,一个 Go 语言程序有且只能有一个主函数 Go 语言程序主函数定义格式 C 语言 main 函数格式 int main(int argc, const char * arg

  • 问题内容: 来自我曾经通过告诉从甚至直接从控制台安装该版本的lib 的环境,我曾经将供应商的lib的特定版本安装到项目文件夹()中,如下所示: 然后,我通常使用以下命令在项目中导入该软件包的该版本: 现在,我想对做同样的事情。我怎样才能做到这一点?是否可以安装特定版本的软件包?如果是这样,使用集中式,如何导入一个版本而不是另一个版本? 我会做这样的事情: 但是,如何在导入过程中有所作为? 问题答案

  • 问题内容: 我已经习惯了,但是对于当前的问题,我没有用。我希望能够创建特定于项目的软件包: 我尝试了多种方法,但是如何在或等等上工作? 例如; 我希望能够然后能够运行,并且一切正常,而不会抛出无法在或找到包的错误。我需要这种功能的原因是针对大型项目。我不想引用多个其他软件包或将它们保存在一个大文件中。 问题答案: 转到依赖项管理摘要: 如果您使用的版本是: 或者您的go版本是: 如果您使用的版本是

  • 我试图将一个lexer语法导入到另一个lexer语法中。导入的语法使用不同的模式(在XMLLexer示例中,mode INSIDE和PROC_INSTR)。 如果我将导入的部分内联到主lexer定义中,解析器就可以工作,但我希望使用导入功能来进行干净的分离。(不是针对XML/HTML示例,而是在另一种情况下。) 是否有可能让它工作使用进口或这是一个ANTLR4的限制?

  • 问题内容: 我在Go中看到了几种不同的测试包命名策略,并想知道每种策略的优缺点以及应该使用哪种优缺点。 策略一: 文件名:github.com/user/myfunc.go 测试文件名称:github.com/user/myfunc_test.go 有关示例,请参见bzip2。 策略2: 文件名:github.com/user/myfunc.go 测试文件名称:github.com/user/my

  • 问题内容: 我有主软件包(main.go): 我还有另一个包(index.go): 如何从另一个包中获取会话值?还是应该将其传递给我的处理程序(如果是,该怎么做?)。 我是Golang的新手。请帮忙。 问题答案: 我通常将依赖项包装在自己的程序包中,这让我抽象了一些我做的常见事情。对于会话,我通常大部分时间都使用相同的会话名称,因此通常会有以下内容: 然后您可以在其他任何地方导入自己的会话包: 更