گونهها
سلام زبانی ایستا است: گونهی هر مقدار پیش از اجرا مشخص است و مترجم نمیگذارد گونههای ناسازگار با هم قاطی شوند.
در این درس
گونههای پایه
روال ریشه:
عدد := ۴۲
اعشاری := ۳.۱۴
متن := "سلام"
درستی := نادرست
حرف := u'س'
سرچاپ عدد, اعشاری, متن, درستی, حرف
پایانخروجی42 3.14 سلام false س
| گونه | انگلیسی | کاربرد |
|---|---|---|
صحیح | int | عدد صحیح ۳۲ بیتی |
صحیح۸، صحیح۱۶، صحیح۶۴ | i8، i16، i64 | عدد صحیح با اندازهی مشخص |
طبیعی، طبیعی۸ تا طبیعی۶۴ | uint، u8 تا u64 | عدد صحیح بدون علامت |
اعشار۶۴، اعشار۳۲ | f64، f32 | عدد اعشاری |
منطقی | bool | درست یا نادرست |
رشته | str | متن (یونیکد) |
نویسه | char | یک نویسه، مثل u'س' |
اندازه مثبت، اندازه | usize، size | عدد هماندازهی نشانی حافظه |
اندازه و مبنای اعداد
عددها را میتوانید در مبنای شانزده (0xFF)، دو (0b1010) و هشت (0o17) هم بنویسید و برای خوانایی رقمها را با _ جدا کنید.
روال ریشه:
کوچک := ۱۲۰ برگردان صحیح۸
بزرگ := ۹_۰۰۰_۰۰۰_۰۰۰ برگردان صحیح۶۴
مثبت := ۴۰۰۰۰۰۰۰۰۰ برگردان طبیعی
سرچاپ کوچک, بزرگ, مثبت
سرچاپ 0xFF, 0b1010, 0o17
پایانخروجی120 9000000000 4000000000
255 10 15
sizeof اندازهی هر گونه را بر حسب بایت میدهد:
ساختار نقطه:
ایکس: صحیح
ایگرگ: صحیح
پایان
روال ریشه:
سرچاپ "صحیح۸:", sizeof(صحیح۸)
سرچاپ "صحیح:", sizeof(صحیح)
سرچاپ "صحیح۶۴:", sizeof(صحیح۶۴)
سرچاپ "اعشار۶۴:", sizeof(اعشار۶۴)
سرچاپ "نقطه:", sizeof(نقطه)
پایانخروجیصحیح۸: 1
صحیح: 4
صحیح۶۴: 8
اعشار۶۴: 8
نقطه: 8
تبدیل گونه
سلام گونهها را خودکار به هم تبدیل نمیکند؛ با برگردان تبدیل را صریح بنویسید. تقسیم دو عدد صحیح، صحیح است و بخش اعشاری کنار گذاشته میشود. به صحیح() متن را به عدد تبدیل میکند.
روال ریشه:
سرچاپ ۷ / ۲
سرچاپ ۷ % ۲
سرچاپ (۷ برگردان اعشار۶۴) / ۲.۰
عدد := ۳.۹
سرچاپ عدد برگردان صحیح
سرچاپ "۴۲".به صحیح() + ۸
پایانخروجی3
1
3.5
3
50