我们有几个项目依赖于共享类型进行通信。团队决定使用具有这些类型的共享包,并希望在此实现中使用协议缓冲区。如果重要的话,语言是 Go,而且所有这些项目都不是公开的。
我们如何使用项目中未定义的协议缓冲区类型?我似乎找不到在应用程序之间共享完全外部类型的方法。我读到的所有内容都倾向于解释如何使用子包.proto文件,而不是由另一个开发人员/团队在您的项目中的另一个项目中定义的类型。
我有以下代码:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
stuff := fanIn(
generator(4, 5, 6, 7),
generator(1, 2, 6, 3, 7),
generator(12, 15, 33, 40, 10),
generator(18, 13, 20, 40, 15),
generator(100, 200, 64000, 3121, 1237),
)
for v := range stuff {
fmt.Println(v)
}
fmt.Println(t.Sub(time.Now()))
}
func generator(nums ...int) <-chan int {
out := make(chan int, 10)
go func() {
defer close(out)
for _, v := range nums {
out <- v
}
}() …Run Code Online (Sandbox Code Playgroud) 在尝试测试端点时如何设置Request.FormFile?
部分代码:
func (a *EP) Endpoint(w http.ResponseWriter, r *http.Request) {
...
x, err := strconv.Atoi(r.FormValue("x"))
if err != nil {
a.ren.Text(w, http.StatusInternalServerError, err.Error())
return
}
f, fh, err := r.FormFile("y")
if err != nil {
a.ren.Text(w, http.StatusInternalServerError, err.Error())
return
}
defer f.Close()
...
}
Run Code Online (Sandbox Code Playgroud)
如何使用httptest lib生成具有我在FormFile中可以获得的值的发布请求?
我有以下代码:
r := mux.NewRouter()
r.Handle("/", http.FileServer(http.Dir("./frontend/build/")))
r.Handle("/static", http.FileServer(http.Dir("./frontend/build/static/")))
r.PathPrefix("/api").Handler(auth)
Run Code Online (Sandbox Code Playgroud)
/api应该是安全的。如果用户点击/,我希望他们查看目录index.html中的PROJECTDIR/frontend。
前端目录看起来像
frontend
/build
index.html
/static
/js
/css
/media
Run Code Online (Sandbox Code Playgroud)
index.html 加载 中的所有内容/static。无论我如何配置它,当我访问 时localhost:3000,我都可以得到 ,index.html但下面的所有内容/static都是 404。
我如何错误地配置这个?