关于对基础的helloword的代码实例
// SPDX-License-Identifier: MIT //合约的协议
// compiler version must be greater than or equal to 0.8.10 and less than 0.9.0
pragma solidity ^0.8.10; //指定你使用的版本
contract HelloWorld {
string public greet = "Hello World!";
}
//自顶一个一个HelloWorld的合约函数,获取合约的值为hellowordsolidity 数值和类型
布尔(Booleans)
整型(Integer)
地址(Address)
定长字节数组(fixed byte arrays)
有理数和整型(Rational and Integer Literals,String literals)
枚举类型(Enums)
函数(Function Types)
pragma solidity ^0.4.25;
contract ValueType{
function testValueType() public view returns(uint){
uint luckNum = 101;
uint loveNum = luckNum;
changeValue(luckNum);
return luckNum;
}
function changeValue(uint _num) private{
_num += 100;
}
}
- 字符串(string)
- 不定长字节数组(bytes)
- 数组(Array)
- 结构体(Structs)
int(有符号整型,有正有负)
uint(无符号整型,无负数)
以8位为区间,支持int8,int16,int24 至 int256,uint同理。
int默认为int256,uint默认为uint256
solidity内置了一些数组的数据类型:(和go语言做一下对比, var [8] byte),完全只读
bytes1, … ,bytes32,允许值以步长1递增。
byte默认表示bytes1,byte是类型,bytes是类型,bytes1是内置数组
bytes1只能存储1个字节,即8位的内容,bytes2最多只能存储2个字节,即16位的内容。以此类推…
长度可以读取 length
长度不可以修改
可以通过下标访问
内容不可修改
内置方法:length() -> 返回数组长度
存储方式:16进制ascii码修饰符 说明
public 公有,任何人(拥有以太坊账户的)都可以调用
private 私有, 只有智能合约内部可以调用
external 仅合约外部可以调用,合约内部需使用this调用
internal 仅合约内部和继承的合约可以调用
view/constant 函数会读取但是不会修改任何contract的状态变量
pure 函数不使用任何智能合约的状态变量
payable 调用函数需要付钱,钱付给了智能合约的账户
returns 返回值函数声明中使用
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




