我正在看https://godoc.org/k8s.io/api/core/v1#Secret
type Secret struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Data contains the secret data. Each key must consist of alphanumeric
// characters, '-', '_' or '.'. The serialized form of the secret data is a
// base64 encoded string, representing the arbitrary (possibly non-string)
// data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
// +optional
Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"`
// stringData allows specifying non-binary secret data in string form.
// It is provided as a write-only convenience method.
// All keys and values are merged into the data field on write, overwriting any existing values.
// It is never output when reading from the API.
// +k8s:conversion-gen=false
// +optional
StringData map[string]string `json:"stringData,omitempty" protobuf:"bytes,4,rep,name=stringData"`
// Used to facilitate programmatic handling of secret data.
// +optional
Type SecretType `json:"type,omitempty" protobuf:"bytes,3,opt,name=type,casttype=SecretType"`
}
以 Data map[string][]byte 'json:“data,omitempty” protobuf:“bytes,2,rep,name=data”'
为例,我知道 Data
是名称,map[string][]byte
是类型,接下来的第三件事是什么?它有什么作用,什么时候有必要包括这第三件事?
json:“data,empty”protobuf:“bytes,2,rep,name=data”
称为结构标记。有关该主题的一些有用链接包括:
标记是结构定义的一部分,允许您告诉结构如何存储数据,创建映射,执行验证等。事实上,你会在处理数据的Go包中看到很多这样的包。
问题内容: 我一直在尝试找出如何使用mgo(Go的MongoDB驱动程序),并且遇到了这个struct声明: 我不太了解第一个元素(Id)的语法。我知道它被声明为type ,但是字符串文字在那里做什么? 我的问题不是关于mgo驱动程序功能, 而是关于这个奇怪的语法。 我在Go规格中找不到任何东西,我也不知道该如何在Google上搜索。 问题答案: 语言规范的“ 结构类型”部分对此进行了解释: 字段
问题内容: 我想通过使用struct / interface的字符串名称值将特定变量转换为特定的已定义struct / interface。 例如: 和新变量 这可能是偶然的吗?也许使用反射? 干杯 问题答案: 这不可能。Go是一种静态类型的语言,这意味着必须在编译时知道变量和表达式的类型。 在类型断言中: […]如果类型断言成立,则表达式的值为存储在其中的值,其类型为。 因此,您可以使用类型断言
我正在阅读有关C++11新特性的维基百科页面,但不理解有关类型别名的这一部分:https://en.wikipedia.org/wiki/c%2b%2b11#template_aliases using语法也可以用作C++11中的类型别名: typedef void(*FunctionType)(double);//旧样式 使用FunctionType=void(*)(double);//新引入的
setProperty()方法将指定的单值属性设置为指定的值。如果属性尚不存在,则创建该属性。它包含3个参数, name-要设置的属性的名称。 值-字符串对象。 类型-属性的类型。 并返回属性对象集,如果使用此方法移除属性,则返回null(通过将其值设置为null)。 来源:docs.adobe.com 为什么这里的类型是“int”?它意味着什么?如果我想将名为'x'的属性设置为类型为'boole
问题内容: 我有一个类型T的泛型类,我想获得实例化时传递给该类的类型的名称。这是一个例子。 我已经逛了好几个小时,但似乎找不到任何方法。有人尝试过吗? 任何帮助是极大的赞赏。 谢谢 问题答案: 单纯的快速方法是不可能的。 可能的解决方法是: 这些限制取决于它仅适用于类的事实。 如果这是通用类型: 返回全名(包括名称空间): 这就是为什么func搜索字符的最后一次出现。 测试如下: 更新Swift
问题内容: 是否可以实例化t1的reflect.Type? 是否可以通过将名称“ t1”作为字符串来获取t1的reflect.Type? 问题答案: 在1,是的,有点: 无需实例化。但是,Go没有类型文字,这是我想您要的。要获取类型的运行时值,您需要具有某种值。如果您不希望或无法在运行时创建该值,则可以从类型为nil的值中提取它。如果您不喜欢每次都查找的想法,可以将此运行时类型存储在变量中。 在2