Solidity - ประเภท
ในขณะที่เขียนโปรแกรมในภาษาใด ๆ คุณจำเป็นต้องใช้ตัวแปรต่างๆเพื่อจัดเก็บข้อมูลต่างๆ ตัวแปรไม่ใช่อะไรนอกจากตำแหน่งหน่วยความจำที่สงวนไว้เพื่อเก็บค่า ซึ่งหมายความว่าเมื่อคุณสร้างตัวแปรคุณจะสงวนพื้นที่ในหน่วยความจำไว้
คุณอาจต้องการจัดเก็บข้อมูลประเภทข้อมูลต่างๆเช่นอักขระอักขระแบบกว้างจำนวนเต็มจุดลอยตัวจุดลอยตัวคู่บูลีนเป็นต้นตามประเภทข้อมูลของตัวแปรระบบปฏิบัติการจะจัดสรรหน่วยความจำและตัดสินใจว่าจะจัดเก็บอะไรใน หน่วยความจำที่สงวนไว้
ประเภทมูลค่า
Solidity ช่วยให้โปรแกรมเมอร์มีประเภทข้อมูลในตัวและประเภทข้อมูลที่กำหนดโดยผู้ใช้ ตารางต่อไปนี้แสดงประเภทข้อมูล C ++ พื้นฐานเจ็ดประเภท -
ประเภท | คำสำคัญ | ค่า |
---|---|---|
บูลีน | บูล | ถูกผิด |
จำนวนเต็ม | int / uint | จำนวนเต็มที่ลงชื่อและไม่ได้ลงชื่อซึ่งมีขนาดต่างกัน |
จำนวนเต็ม | int8 ถึง int256 | ลงนาม int จาก 8 บิตเป็น 256 บิต int256 เหมือนกับ int |
จำนวนเต็ม | uint8 ถึง uint256 | int ที่ไม่ได้ลงนามจาก 8 บิตเป็น 256 บิต uint256 เหมือนกับ uint |
หมายเลขจุดคงที่ | คงที่ / ไม่ได้รับการแก้ไข | หมายเลขจุดคงที่ที่ลงชื่อและไม่ได้ลงชื่อซึ่งมีขนาดแตกต่างกัน |
หมายเลขจุดคงที่ | คงที่ / ไม่ได้รับการแก้ไข | หมายเลขจุดคงที่ที่ลงชื่อและไม่ได้ลงชื่อซึ่งมีขนาดแตกต่างกัน |
หมายเลขจุดคงที่ | คงที่ | หมายเลขจุดคงที่ที่ลงนามโดยที่ M แทนจำนวนบิตที่นำมาตามประเภทและ N แทนจุดทศนิยม M ควรหารด้วย 8 และไปจาก 8 เป็น 256 N สามารถเป็น 0 ถึง 80 คงที่จะเหมือนกับ fixed128x18 |
หมายเลขจุดคงที่ | ufixedMxN | หมายเลขจุดคงที่ที่ไม่ได้ลงชื่อโดยที่ M แทนจำนวนบิตที่นำมาตามประเภทและ N แทนจุดทศนิยม M ควรหารด้วย 8 และไปจาก 8 เป็น 256 N สามารถเป็น 0 ถึง 80 ufixed ก็เหมือนกับ ufixed128x18 |
ที่อยู่
แอดเดรสเก็บค่า 20 ไบต์แทนขนาดของแอดเดรส Ethereum สามารถใช้ที่อยู่เพื่อรับยอดคงเหลือโดยใช้วิธี. balance และสามารถใช้เพื่อโอนยอดคงเหลือไปยังที่อยู่อื่นโดยใช้วิธีการ
address x = 0x212;
address myAddress = this;
if (x.balance < 10 && myAddress.balance >= 10) x.transfer(10);