当前位置:主页 > 列表页 > 正文

【以太坊智能合约编程】【solidity傻瓜学习】第一段代码(1)

2021-05-29 22:30 | 出处: 邹刚

【以太坊智能合约编程】【solidity学习】


第一段代码(1)



pragma solidity 0.4.9;

contract DemoTypes {
function f(uint a) returns (uint b)
{
uint result = a * 8;
return result;
}
}

代码解释


pragma solidity 0.4.9;



第一句pragma是代表程序开始。

solidity 代表本智能合约是Solidity语言

0.4.9 代表的是编译器版本

这就相当于一群人在一起说话。 有人说英语。有人说法语,有人说日语。这就乱套了。但是我们首先要确定我们都说汉语。这样大家才好沟通和交流。

同样道理,我们和以太坊智能合约说话。首先就要确定我们讲solidity 0.4.9这门语言。。。


contract DemoTypes {
...
}

这里引用Solidity里的Contract。(合同)

DemoTypes 是这个合约的名字。

Solidity中Contract(合同)和面向对象语言中的很相像。

因此有构造函数,有继承,有变量,有function(函数),也有抽象类等等传统概念函数。

function f(uint a) returns (uint b)
{
...
}


function f(uint a) returns (uint b) 代表定义了一个名为f的方法(函数),输入变量为uint a, 输出为uint b

uint 代表无状态的整型数字,即大于0的整数。

uint = uint256, 最大值为2的256次方,这个数字对于绝大多数的数学运算是足够得了。

相对于uint来说还有带负数的整数类型,即int,

int=int256, 取值范围从 负2的128次方到正2的128次方。


uint result(结果) = a * 8;
return (返回)result;

比如输入一个1返回一个8。

这就不用解释了。

这是一个很简单的计算机语言。


最后重新看一遍


pragma solidity 0.4.9;

contract DemoTypes {
function f(uint a) returns (uint b)
{
uint result = a * 8;
return result;
}
}




作者郑重申明:截至发文时,作者与文中提及项目存在利益关系,特此告知。利益关系包括但不限于下述情况:本人为项目团队成员、本人是项目团队成员的直系亲属或配偶、参与投资该项目、持有该项目发行的股份或通证、参与做空或做多该项目、收取回报进行有偿撰文等。
相关文章