設置數值/取數值/加法運算
講解
- uint默認使用256位數的整型
- view表示這個函數僅僅對于數據僅僅是讀取,沒有修改操作
- returns(uint ),如果單純指定uint,返回的是函數體內的return值,如果包含uint sum,uint SAD_a,那么返回就會包含sum和SAD_a字段
代碼
pragma solidity ^0.4.17;contract SimpleStorage{uint myData;function setData(uint newData)public{myData = newData;}function getData() public view returns(uint){return myData;}function pureAdd(uint a,uint b)public pure returns(uint sum,uint SAD_a){return (a+b,a);}
}
界面
進行操作
- 先點擊Deploy進行合約部署,然后選擇setData,輸入數據;在console顯示成功執行之后,點擊getData取傳入的數據
- pureAdd傳入兩個數字,以英文逗號相隔,輸入后點擊pureAdd獲取相加的結果
汽車品牌/設置和取值
講解
- string可以輸入很多的字符串,因此存在隱患,會爆出警告,可以使用bytes來替代,后面也會設定字節數
- 如果是string,輸入的時候需要加入引號
- 如果是bytes,只接收十六進制的數,因此需要編碼將utf編碼轉化為十六進制,使用web3的函數,web3.toHex(“字符串”),生成十六進制的串;web3.toUtf8(“得到的哈希序列”)
- 將price設置為public則默認會有get方法,不需要寫對應的獲取方法也是可以得到數值的
代碼
pragma solidity ^0.4.17;contract Car{string brand;uint public price;constructor(string initBrand,uint initPrice)public{brand = initBrand;price = initPrice;}function setBrand(string newBrand)public{brand = newBrand;}function getBrand() public view returns (string){return brand;}function setPrice(uint newPrice)public{price = newPrice;}
}
界面
- 加入constructor進行初始化合約賦值,先輸入品牌,價格再部署合約,賦予初始默認值
?