pragma solidity ^0.4.0;
//string类型
contract Helloworld{
string name="zhanglm";
//获取外部变量名的值
function getname() public view returns(string){
return name;
}
//改变外部变量name的值
function changeName(string newName) public{
name=newName;
}
//pure方式
function pureTest(string newName) public pure returns(string){
//pure 用来固定的输入和输出,不能够读也不能写状态变量,只能够拥有局部变量
return newName;
}
}
//bool类型用来判断
contract BooleanTest{
bool _a;
int num1=100;
int num2=200;
function getBool() public view returns(bool){
return _a;
}
function getRevBool() public view returns(bool){
return !_a;
}
function isEqual() public view returns(bool){
return num1==num2;
}
//&& true&&true=true,其他都为false || 只要有一端是true就是true,其他为false false||true=true
function isConA() public view returns(bool){
return num1==num2&&true;
}
function isConB() public view returns(bool){
return num1==num2||true;
}
}
//各种运算
contract math{
// uint=uint256 无符号整数 0 - 2^256-1 uint8 uint16
// int=int256 -2^256 - 2^256
// address 地址类型
// bytes32 字节32
// function 函数
}
//全局变量
//账户内容 msg.sender
//区块的时间戳只读的(按钮按下的时间uint类型) block.timestamp
//当前的区块编号(unit) block.number
contract GlobalVariables{
function globalVars() external view returns (address,uint,uint){
address sender=msg.sender;
uint timastamp=block.timestamp;
uint blocknum=block.number;
return (sender,timastamp,blocknum);
//运行结果
//address: 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4
//uint256: 1677465018
//uint256: 17
}
}
//view和pure的区别
contract ViewAndPureFunctions{
uint public num;
function viewFunc() external view returns(uint) {
return num;//view读链上变量的信息
}
function pureFunc() external pure returns(uint) {
return 1;//pure不读链上的变量,只能读局部变量或者什么变量都不读也行
}
}
solidity基础语法(一)
最新推荐文章于 2024-10-01 10:17:23 发布
文章介绍了如何在Solidity中使用合约来操作string和bool类型的变量,包括读取和修改状态变量,以及运用逻辑运算。同时,讲解了view和pure函数修饰符的区别,并展示了全局变量如msg.sender、block.timestamp和block.number的使用。
摘要由CSDN通过智能技术生成