求助帖
一般问题
发布于 2025-03-31 16:15:29
查看 16过去454天
如果创建结构体数组数量比较多,该怎么使用循环来进行创建
所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
如果创建结构体数组数量比较多,该怎么使用循环来进行创建
问问deepseek呢?我问了一下,给了我下面的代码,你可以参考一下
# 定义结构体名称列表
struct_names = [:Point2D, :Point3D, :Color]
for name in struct_names
# 根据名称动态生成不同字段的结构体
if name == :Point2D
@eval struct $name
x::Float64
y::Float64
end
elseif name == :Point3D
@eval struct $name
x::Float64
y::Float64
z::Float64
end
elseif name == :Color
@eval struct $name
r::UInt8
g::UInt8
b::UInt8
end
end
end
# 使用生成的结构体
p2 = Point2D(1.0, 2.0)
p3 = Point3D(1.0, 2.0, 3.0)
c = Color(0xFF, 0x00, 0x80)