Julia : 又一次 ”协变“ 中招!

本文探讨了Julia语言中字典类型的特性,特别是不同数据类型混合时的自动提升行为,并通过具体示例展示了如何避免类型不匹配的问题,这对于理解Julia内存管理和高效编程至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请看,

julia> typeof(Dict(1=>0.1,"a"=>"b"))                         # 不同类型,自然提升到Dict{Any,Any}. 
Dict{Any,Any}


julia> typeof(Dict("1"=>"0.1","a"=>"b"))                  # 不会自动提升。
Dict{ASCIIString,ASCIIString}


julia> typeof(Dict{Any,Any}("1"=>"0.1","a"=>"b"))  # 显示标明
Dict{Any,Any}

这个在Redis 库中,在使用 hmset(conn, ::Any, :: Dict{Any,Any} ) 函数时,


本人一不小心,又中招了。协变呀。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值