标签:function constant name 第一天 以太 学习 uint pcl return
我的第一个合约
pragma solidity ^0.4.5;
contract MyFirstContract {
uint _age;
address _owner;
function MyFirstContract() {
_owner=msg.sender;
}
function set_age(uint age) {
_age=age;
}
function cat_age() constant returns (uint){
return _age;
}
function Kill() {
if (msg.sender==_owner){
selfdestruct(_owner);
}
}
}
属性、方法的三种访问权限和继承以及合约的多继承
pragma solidity ^0.4.5;
contract pcl_all{
uint private _pcl1; //只有private的属性不会被继承
uint public _pcl2; //public会默认创建一个可被调用的get方法,方法与属性名同名。
uint internal _pcl3;
function pcl_all() public{
_pcl1=1;
_pcl2=2;
_pcl3=3;
}
function pcl1() constant public returns (uint){
return 1;
}
function _pcl2() constant public returns (uint){
return 22222;
}
function pcl3() constant internal returns (uint){
return 3;
}
}
contract pcl{
uint public facker_is_my_ouxiang;
function pcl(){
facker_is_my_ouxiang=11111;
}
}
contract pcl_1 is pcl_all,pcl{
function test() constant returns(uint){
return _pcl2+_pcl3;
}
}
合约中函数的重写
pragma solidity ^0.4.5;
contract pcl{
address _owner;
function pcl() {
_owner=msg.sender;
}
function send_add() constant returns (address) {
return msg.sender;
}
}
contract pcl2 is pcl{
function send_add() constant returns (address) {
return _owner;
}
}
值传递和引用传递
pragma solidity ^0.4.5;
contract pcl{
string _name;
function pcl(string name){ //定义一个和合约一样名字的函数就是初始化class。这时候传入name
_name=name;
}
function diaoyong(){ //写一个函数用来调用值传递和引用传递的例子。
// yinyongchuandi(_name); //当把引用传递这个注释掉的时候,_name的值是不会变得。因为传的是值,而不是指针。
zhichuandi(_name); //但是当引用传递时,就相当于把_name的指针传了过去,再操作name的时候就是对_name进行操作
}
function yinyongchuandi(string storage name) internal constant{
bytes(name)[0]='a'; //当使用storage时就不能对name进行增删,因为唯一的内存大小已经被生成了。
}
function zhichuandi(string memory name) internal constant{
_name='123'; //
}
function get_name() constant returns (string){
return _name;
}
}
中文文档:Solidity
标签:function,constant,name,第一天,以太,学习,uint,pcl,return 来源: https://blog.csdn.net/xiaoyue2019/article/details/105300294
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。