You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Julia中如何获取参数化类型的不带参数的简单名称?

解决方法

方法1:直接提取结构体名称字符串

仅需要从实例中提取MyStruct字符串的话,直接用Julia内置的nameof函数即可:

# 针对你的实例z,执行以下代码
struct_name = string(nameof(typeof(z)))
# 输出结果为 "MyStruct"

nameof会返回类型对应的Symbol值,转字符串后就是你需要的纯结构体名称。

方法2:自定义show方法全局修改类型显示效果

如果你希望后续所有查看MyStruct类型的场景(包括typeof输出、REPL类型提示)都只显示MyStruct而不带泛型参数,可以重写对应的Base.show方法:

# 重写类型的显示逻辑
Base.show(io::IO, ::Type{<:MyStruct}) = print(io, "MyStruct")

# 可选:同时自定义实例的显示格式,按需调整
Base.show(io::IO, x::MyStruct) = print(io, "MyStruct(a=$(x.a), b=$(x.b))")

添加上述定义后,再执行typeof(z),输出就会变成你期望的MyStruct。

内容的提问来源于stack exchange,提问作者Alec

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 20:15:04