专栏
标签
求助帖
一般问题
发布于 2025-03-31 16:15:29
查看 16过去454天

如果创建结构体数组数量比较多,该怎么使用循环来进行创建

所属专栏:Syslab基础平台
产品信息:Syslab科学计算环境
其他

全部回答 1

发布于 2025-03-31 17:21:40

问问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)
用户
和原帖交流更多问题细节吧,去
我要发帖 我要发帖
资料中心 资料中心
查看更多>
热门帖子 热门帖子
主要贡献者 主要贡献者
过去7天