- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个结构
type mapKey string
var key1 mapKey = "someKey"
var key2 mapKey = "anotherKey"
type SampleMap map[mapKey]string
传入的 http 调用必须是 map[string]string
我需要将其类型转换为 业务逻辑中的SampleMap
正常转换:Sample(request) 出错,无法将类型 map[string]string 转换为 SampleMap。由于它们具有相同的内部类型,为什么会发生此错误以及解决方法是什么?
我真的不想写一个函数把每个字符串映射到mapKey,然后构造SampleMap。
最佳答案
没有将映射或数组从一种类型强制转换为另一种类型的捷径,就像个别类型一样(例如 mapKey("str") )。
不过设置键并不难,你可以只用一个 for 循环:
params := map[string]string{"someKey": "bar"}
// Copy to type SampleMap
for k, v := range params {
m[mapKey(k)] = v
}
虽然有两个额外的类型(对于键和映射)没有多大意义,除非您通过使用访问器以某种方式强制限制,不允许直接访问。这感觉像是从另一种语言翻译过来的代码?
在没有其他细节的情况下,我会这样做:
// These are the recognised key types for params
const (
key1 = "someKey"
key2 = "anotherKey"
)
// Work with this sort of map till you come to convert values:
// When checking keys or using them, use the constants above.
params map[string]string
myVal := params[key1]
这里使用两种类型来控制使用哪些键的基本原理是什么?
关于dictionary - 将 map[string]string 转换为 map[someStruct]string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46861613/
我定义了 3 个结构和两种类型 type OnMoveEvent = fn(Board) -> (); type OnGameOverEvent = fn(Player) -> (); #[wasm_
假设 SomeStruct 定义为: struct SomeStruct { int member; }; 这些是什么意思? &SomeStruct::member int SomeStruc
const Vector4 colorBlack = new Vector4(0,0,0,1);//Vector4 is struct public static void example(Vecto
考虑以下几点: struct SomeStruct {} var foo: Any! let bar: SomeStruct = SomeStruct() foo = bar // Compiles
考虑以下几点: struct SomeStruct {} var foo: Any! let bar: SomeStruct = SomeStruct() foo = bar // Compiles
我试图理解 ORM 库的这段代码,但我无法理解 (*User)(nil) 的含义?第一个括号是指向 User 结构的指针,那么第二个括号代表什么? type User struct { Id
我想获取结构中特定成员的大小。 sizeof(((SomeStruct *) 0)->some_member) 对我有用,但我觉得可能有更好的方法。 我可以#define SIZEOF_ELEM(ST
我不小心输入了一个默认的可初始化对象 struct至 std::numeric_limits::infinity() .我得到的是一个默认结构。 为什么标准允许它编译并返回这样一个意想不到的值? #i
我有一个或多或少像这样的结构: [Serializable] [XmlRoot("Customer")] public struct TCustomer { string CustomerNo;
假设我有很多带有接收器的函数或方法,每个函数或方法都有不同类型的参数。我想使用表驱动方法来调度函数或方法调用。所以我将构建一个这样的表: type command struct { name s
我正在查看一些使用的代码 Rc> 所以我出去阅读了 Rc 和 RefCell 之间的差异: 以下是选择 Box、Rc 或 RefCell 的原因的概述: Rc enables multiple own
我在这里做了一些比较: https://github.com/itchingpixels/structs-vs-classes似乎将结构插入结构数组比将类插入类数组(具有相同数据)慢 10 倍。 我的
例如: type name struct { name string age int } func main() { c := make(chan name)
给定 SomeStruct 如下: struct SomeStruct { int i; char c; }; 下面不编译。 int main() { std::array a
谁能解释一下这个错误是什么意思?这实际上是相同的结构。它是否无法以某种方式推断出 R 或 F 并以这种方式报告? src/demo.rs:113:51: 113:65 error: mismatche
主题。用例是:假设我有一个非托管缓冲区,用于存储 SomeStruct 的 N 个实例。 .所以在这个缓冲区中有一个地址,有没有办法把这个地址转换成ref SomeStruct -- 例如能够直接更新
这里有一些设置代码来解释正在发生的事情: protocol CanJump{ func jump() } struct Dog: CanJump{ func jump(){
我有一个结构 type mapKey string var key1 mapKey = "someKey" var key2 mapKey = "anotherKey" type SampleMap
当我尝试使用用户定义的转换运算符从接口(interface)类型转换为通用结构类型时,出现编译错误,指出类型无法转换: public interface J { } public struct S {
我是一名优秀的程序员,十分优秀!