在用Go编写的Google App Engine项目中,我一直在使用eg
import "appengine/datastore"
Run Code Online (Sandbox Code Playgroud)
很长一段时间成功并假设导入找到了我有App Engine SDK的地方.但是,现在我想使用来自Google的第三方库,它也使用App Engine中的东西,但是使用完整路径导入:
import "google.golang.org/appengine"
Run Code Online (Sandbox Code Playgroud)
运行应用程序
$ goapp serve
Run Code Online (Sandbox Code Playgroud)
失败,没有找到appengine:
...go/src/golang.org/x/oauth2/client_appengine.go:16: can't find import: "google.golang.org/appengine/urlfetch"
Can't find package "google.golang.org/appengine" in $GOPATH
Run Code Online (Sandbox Code Playgroud)
显然我想使用相同的App Engine部件来解决其他问题.我的第一个通道是我想告诉第三方库使用App Engine SDK库,但我不知道它在导入中有不同的前缀.
我应该在项目中使用所有App Engine导入的完整路径吗?这与我在谷歌针对Golang网页的App Engine上所阅读的内容完全相反.比如这里.
一般来说,设置东西的方式是什么,以便在App Engine和第三方库的开发和生产中找到合适的appengine库?
在此先感谢您的帮助!
UPDATE
我还可以看到,在添加第三方库并运行go get它之后,将所有类型的东西都输入$GOPATH/src/google.golang.org/api/....那里有很多东西和appengine等等.似乎是所有Golang Google API ......!
所以它没有得到解决,但我了解到有一个变化会改变为完全合格的appengine导入路径.
现在我的应用程序在本地运行,因为我引入了新的appengine以满足使用新导入路径的oauth库.
go get google.golang.org/appengine
Run Code Online (Sandbox Code Playgroud)
根据这个:
如果您不想更新整个应用程序以使用新的App Engine软件包,则可以并行使用两组软件包,仅使用带有oauth2软件包的新软件包.
实际上非常令人困惑,我不知道在App Engine上部署时可用的内容.有人知道吗?
Go中可以通过编程方式创建结构类型(即不在编译的源代码中)吗?
我们有一个特殊的用例,其中将通过用户定义的元数据创建类型(因此事先不知道模式/类型),并且每个客户都会有所不同。然后,我们需要为这些服务自动生成REST服务,并将其保留在NoSQL后端中。我们还需要为每个字段定义不同的动态验证器(例如,必填项,正则表达式,最大/最小大小,最大/最小值,对另一个类型实例的引用等)。
我想知道在Go中是否可以进行类似的操作?
编辑1:
例如
从JSON中的前端
For customer 1:
{
"id":1,
"patientid":1,
"name":"test1",
"height":"160",
"weight":"70",
"temp":"98"
}
For customer 2:
{
"id":2,
"patientid":1,
"name":"test1",
"height":"160",
"weight":"70"
}
For customer 3
may be different new fields will add
Run Code Online (Sandbox Code Playgroud)
后端
// For One customer need to have these fields
type Vitalsigns struct {
ID int64 `datastore:"-"`
PatientID int64 `json:"patientid,omitempty"`
Name string `json:"name,omitempty"`
Height string `json:"height,omitempty"`
Weight string `json:"weight,omitempty"`
Temp string `json:"temp,omitempty"`
}
// Another need to have these fields
type Vitalsigns struct …Run Code Online (Sandbox Code Playgroud)