在你的代碼中,你可以使用類和結(jié)構(gòu)體來定義你的自定義數(shù)據(jù)類型。
然而,結(jié)構(gòu)體實例總是通過值傳遞,類實例總是通過引用傳遞。這意味兩者適用不同的任務(wù)。當(dāng)你的在考慮一個工程項目的數(shù)據(jù)構(gòu)造和功能的時候,你需要決定每個數(shù)據(jù)構(gòu)造是定義成類還是結(jié)構(gòu)體。
按照通用的準(zhǔn)則,當(dāng)符合一條或多條以下條件時,請考慮構(gòu)建結(jié)構(gòu)體:
合適的結(jié)構(gòu)體候選者包括:
width屬性和height屬性,兩者均為Double類型。start屬性和length屬性,兩者均為Int類型。x,y和z屬性,三者均為Double類型。在所有其它案例中,定義一個類,生成一個它的實例,并通過引用來管理和傳遞。實際中,這意味著絕大部分的自定義數(shù)據(jù)構(gòu)造都應(yīng)該是類,而非結(jié)構(gòu)體。