小编p9s*_*9sh的帖子

为什么无法使用 Docker/VScode 进行远程调试?

我正在尝试使用 Docker/VScode 远程调试 Go 应用程序。我的文件看起来像:

  • 主程序
package main

    import (
        "log"
        "net"
        "net/http"
        "strings"
    )
    
    func main() {
        http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
            message := r.URL.Path
            message = strings.TrimPrefix(message, "/")
            message = "Hello, " + message + "!"
    
            w.Write([]byte(message))
        })
    
        log.Print("starting web server")
        listener, err := net.Listen("tcp", ":8080")
        if err != nil {
            log.Fatal(err)
        }
    
        log.Printf("Start listening: %v", listener.Addr().String())
    
        if err := http.Serve(listener, nil); err != nil {
            log.Fatal(err)
        }
    }
Run Code Online (Sandbox Code Playgroud)
  • Dockerfile
    FROM golang:1.12
    
    ENV GOPATH /go
    ENV PATH …
Run Code Online (Sandbox Code Playgroud)

go docker visual-studio-code

5
推荐指数
1
解决办法
956
查看次数

如何在结构体值赋值期间省略函数调用的二次返回

我想在 struct 类型的变量声明中分配一个值,但是,我需要调用一个返回辅助值(错误)的函数,我想在赋值中忽略该值。

有办法这样做吗?例如:

type myStruct struct{
    address common.Address
}


func main() {
    newVar := myStruct{
      address: common.HexToAddress("xyz") 
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是common.HexToAddress()返回 2 个值,一个 common.Address 以及一个错误。我想忽略该错误并按上面的方式分配它。我宁愿不必这样做:

var newVar2 myStruct
myStruct,_ = common.HexToAddress("xyz") 
Run Code Online (Sandbox Code Playgroud)

go

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

标签 统计

go ×2

docker ×1

visual-studio-code ×1