struct - 如何创建一个使用默认值初始化的结构体?

标签 struct initialization vala

如何创建一个已经有默认值的结构? 不知怎的,像这样:

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

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

最佳答案

AlThomas 的回应:

“Vala 中的结构可以具有初始值设定项(类似于类的构造函数)和方法。因此,我可以从您的第二个 Pastebin 中提取内容,您可以将其写为:”

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");
}

关于struct - 如何创建一个使用默认值初始化的结构体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55187210/

相关文章:

java - 为什么在这种简单的情况下静态初始化程序 block 不运行?

signals - 如何在Vala中编写button_press_event信号处理程序?

vala - 我如何将该程序从 Vala 翻译为 Genie?

C 结构初始化完成 "recursively"

C - 结构内的指针不影响代码

c++ - 混合内联和构造函数初始化的初始化顺序

ruby - 在 Ruby 中初始化

linux - 在 Vala 项目中嵌入图像以供以后在 UI 中使用

c - 增加结构段错误的成员

python - long 的结构长度取决于字节顺序?