我有两张桌子:
type Person struct {
ID int
FirstName string
LastName string
Functions []Function
}
type Function struct {
gorm.Model
Info string
Person Person
}
Run Code Online (Sandbox Code Playgroud)
我创建这样的表:
db.AutoMigrate(&models.Person{}, &models.Function{})
Run Code Online (Sandbox Code Playgroud)
然后我初始化数据库:
user := models.Person{
FirstName: "Isa",
LastName: "istcool",
Functions: []models.Function{{Info: "Trainer"}, {Info: "CEO"}},
}
db.Create(&user)
Run Code Online (Sandbox Code Playgroud)
现在的问题是我的Person表只得到了Firstname和Lastname列,而我的Function表只得到了Info列。但是当我开始GET请求时,我得到的列函数始终为空。
要查看代码,请访问我的GitHub 存储库
我一直在尝试通过公共访问将对象上传到S3,但是我无法做到这一点。
我收到此错误: InvalidArgument: Argument format not recognized status code: 400
这是我的代码:
bucketName := "test-bucket"
key2 := "test.zip"
upParams := &s3manager.UploadInput{
Bucket: &bucketName,
Key: &key2,
Body: response.Body,
GrantRead: aws.String("uri:http://acs.amazonaws.com/groups/global/AllUsers"),
}
sess := session.Must(session.NewSession())
uploader := s3manager.NewUploader(sess)
_, err = uploader.Upload(upParams)
Run Code Online (Sandbox Code Playgroud) 我想不出更好的标题。
在下面的代码中,如果rollBackLogger是nil,第一个测试用例将失败,但所有其他测试用例将引发异常。
有没有办法避免这种情况,除了使用 if语句?
我相信这是单元测试非常常见的情况,应该有一些功能assert或其他方式来避免这种情况。
assert.NotNil(rollbackLogger)
assert.Equal("Action", rollBackLogger[0].Action)
assert.Equal("random path", rollBackLogger[0].FilePath)
Run Code Online (Sandbox Code Playgroud) 这是 prometheus golang-client 的官方例子吗?
package main
import (
"log"
"net/http"
"github.com/prometheus/client_golang/prometheus"
"github.com/prometheus/client_golang/prometheus/promhttp"
)
var cpuTemp = prometheus.NewGauge(prometheus.GaugeOpts{
Name: "cpu_temperature_celsius",
Help: "Current temperature of the CPU.",
})
func init() {
// Metrics have to be registered to be exposed:
prometheus.MustRegister(cpuTemp)
}
func main() {
cpuTemp.Set(65.3)
// The Handler function provides a default handler to expose metrics
// via an HTTP server. "/metrics" is the usual endpoint for that.
http.Handle("/metrics", promhttp.Handler())
log.Fatal(http.ListenAndServe(":8080", nil))
}
Run Code Online (Sandbox Code Playgroud)
在此代码中,http 服务器使用该promhttp库。
使用gin框架时如何修改指标处理程序?我没有在文档中 …