其他的差別:無法繼承類別、結構,只能實作 Interface﹔結構是值型別,在複製實體時,是整個克隆(Clone)而不是像類別一樣,只做參考。
struct Dog:
def constructor( name ):
_name=name
[property(Name)]
_name as string
emptydog=Dog()
print "emptydog.Name=${emptydog.Name}" // 什麼都沒印出
lucky=Dog("Lucky")
print "lucky.Name=${lucky.Name}" // 印出 Lucky
列舉(enum),如果你有用過 C/C++/C# 的話,應該不陌生:
// 宣告列舉
enum Day:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Sunday
// 也可以指定數值
enum Task:
TODO=100
FIXME=101
// 列印
print Day.Sunday
// 尋訪列舉型別裡所有元素
for s in Enum.GetNames(Day):
print s
// 另一種
for n,v in array( zip( Enum.GetNames(Task), Enum.GetValues(Task)) ):
print "${n}=${v}"
沒有留言:
張貼留言