首页 > 解决方案 > 如何创建使用默认值初始化的结构?

问题描述

如何创建已经具有默认值的结构?不知何故像这样:

struct First {
    int data = 4;
    int pos = 5;
    }

void main () {
    var a = First ();
    assert(a.data == 4);
}

标签: structinitializationvala

解决方案


来自 AlThomas 的回应:

“Vala 中的结构可以有初始化器(类似于类的构造器)和方法。所以我可以从你的第二个粘贴箱中提取的内容你可以写成:”

struct First {
    int data;
    int pos;

    public First (int[] mass) {
        data= 5;
        pos = mass.length;
    }

    public int sas () {
        return data + pos;
    }
}

void main () {
    int[] a = {1,3,0,1,2,3,2,1};
    var b = First (a);
    print (@"$(b.sas ())\n");
}

推荐阅读