dongsan6889 2017-02-06 18:20
浏览 80
已采纳

if / else条件定义变量。 未定义:dat(变量)

I know this is a basic question, but I'm curious why the code below does not work. There is no use case where this variable would not be declared.

if (bundled == "true") {
            dat, err := Asset("index.html")
        } else {
            dat, err := ioutil.ReadFile("./index.html")

        }
        if ( err != nil) {
            os.Exit(0)
        }

        t, _ = t.Parse(string(dat))
        p := Person{Scope: ""}
        t.Execute(w, p)

I get the error

.un.go:262: undefined: dat

I'm sure it's just basic GOLANG stuff I'm still learning.

Thanks for your support

  • 写回答

1条回答 默认 最新

  • douyi5822 2017-02-06 18:33
    关注

    if-else blocks have their own scope. In your case datis not visible outside of them.

    You can declare var dat []byte before if (bundled == "true") to fix it.

    Docs: https://golang.org/ref/spec#Declarations_and_scope

    You may also want to read: Declaration scopes in Go

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?
  • ¥15 讲解电路图,付费求解
  • ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
  • ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
  • ¥15 Java,消息推送配置