首页 > 其他分享 >Solidity语法

Solidity语法

时间:2023-06-01 15:33:43浏览次数:32  
标签:int Solidity 语法 uint Names address msg

Solidity语法

数据类型(值类型)

uint

(unity, int), 整数型
可保存0, 以及正整数
范围: 2**256 - 1, 2的256次方

address

(地址类型, 是合约语言的特殊数据类型)
160位值, 不允许操作;
适合存储 合约地址 或外部人员密钥对
地址具有balance属性, 返回该帐户可用的以太币数量

  • transfer, 转帐
  • send, 返回布尔值, 转帐成功与否的信息
  • Call
  • DelegateCall
  • Callcode

int

可以保存, 正负, 有符号整数

bool

true或false

byte

固定大小字节数组

枚举

数据类型(引用类型)

字符串

Solidity中, 字符串可以使用单引号或双引号, 类似Python.

映射

Solidity中映射与Go映射或相同. 但, 不允许遍历. 只能通过键获取值.

mapping(uint => address) Names;

以上声明过程中,
uint => address : 代表, 键为uint类型, 值为address类型.
Names: 作为映射的标识符.
存储值:
Names[uint(2)] = 0x5B38Da6a701c568545dCfcB03FcB875f56beddC4 获取值: Names[uint(2)]`

数组

  • 固定数组:
    int[5] age;
  • 动态数组:
    int[] age;

结构

与Go中的结构体相同:

Go中无类, 类通过结构体实现. Solidity有合约(类似类), 结构体只保存变量

struct user {
	string name;
	uint age;
	int id;
	address addr; 
}

关键字

public

放在类型后面, 变量名前面.

address public mydress

起到的作用:
在编译器进行编译的时候, 把该变量自动生成一个函数, 进行显示.
使该变量在合约外可进行调用.

constructor

一般放在合约内, 函数前.
合约在创建的时候运行, 其他的时间无法进行调用.
适合用于进行一些初始参数, 或常量的设置.

特殊变量

  • msg.data ( bytes ): 完整的 calldata
  • msg.sender ( address ): 消息发送者(当前调用)
  • msg.sig ( bytes4 ): calldata 的前 4 字节(也就是函数标识符)
  • msg.value ( uint ): 随消息发送的 wei 的数量

标签:int,Solidity,语法,uint,Names,address,msg
From: https://www.cnblogs.com/jrri/p/17449175.html

相关文章

  • 2-1-1python语法基础--基础-数据类型-数字
    列举布尔值为False的常见值?1,布尔型,False表示False,其他为True2,整数和浮点数,0表示False,其他为True3,字符串和类字符串类型(包括bytes和unicode),空字符串表示False,其他为True4,序列类型(包括tuple,list,dict,set等),空表示False,非空表示True5,None永远表示False浮点数保留两位小数,并做四......
  • SQL 语法笔记
    ➪SQL  ➪基本类型char/varchar/int/smallint/numeric/real,doubleprecision/float  ➪数据定义createtabledepartment//定义SQL关系 (dept_namevarchar(20),//属性名域buildingvarchar(15),budgetnumeric(12,2),primarykey(dept_name));//......
  • 【疑问句3】英语语法中的几种疑问句句型
    一、一般疑问句:能够用yes或者no来回答的句子为一般疑问句,比如:“这是你的.....吗?”“你做了.....吗?”句子为一般疑问句。一般疑问句的结构有几种如:含有be动词的一般疑问句,含有情态动词的一般疑问句,含有have的一般疑问句等,这里只讲含有be动词的一般疑问句,其它结构后续学到在......
  • 《编译原理》实验三:自下而上语法分析(算符优先分析法)
    本实验采用算符优先分析法,对PL/0语言的算术运算进行语法分析。本程序由我个人独立完成,代码为C++98,因此可能较丑陋,且不能保证完全正确,还请见谅 (¯﹃¯)一.设计思想1.文法因实验二中的文法不是算符优先文法,所以本次实验采用了新的文法。(1)EBNF<表达式>::=[+|-]<项>{<加法运算......
  • 【转载】英语语法:一般疑问句
    一般疑问句主要分为三类,第一,be动词类型;第二,情态动词can、may、should、must;第三,行为动词类型。1.be动词类型(am/is/are)Iamastudent.(陈述句)Iamnotastudent.(否定句)Areyouastudent?(一般疑问句)Yes,Iam.(肯定回答)No,Iamnot.(否定回答)总结:含有be动词的句子,直接在be动词后......
  • Doris(六) -- 查询语法和内置函数
    查询语法和内置函数查询语法整体结构SELECT[ALL|DISTINCT|DISTINCTROW]--对查询字段的结果是否需要去重,还是全部保留等参数select_expr[,select_expr...]--select的查询字段[FROMtable_references[PARTITIONpartition_list]......
  • Python基础语法
    Python中查看变量对应的地址用函数id(var)。 注意在Python中与在C语言中有一些不同的地方。比如:a = 10,在Python中是这样的,数值10在内存中开辟一块空间来存放数据10,然后用a去引用这个10,所以这里a相当于一个标签,如果a被重新赋值了,相当于a又指向了另一个地址,比如a = 1000,那么a指......
  • 开源软件架构总结之——Bash(readline做输入交互式,词法语法分析,进程交互)
    第3章TheBourne-AgainShellBash的主要组件:输入处理,解析,单词展开(wordexpansion)和其他命令处理,管道(pipeline)中的命令执行。这些组件构成一个流水线(pipeline),从键盘或脚本中获取字符,然后逐步转化为命令。图3.1Bash组件结构 3.7.经验教训3.7.1.什么是重要的参与到Bash项目......
  • GitlabCI学习笔记之四:GitLabRunner pipeline语法之only except rules workflow
    1.only&except参考文档:https://docs.gitlab.com/ee/ci/yaml/#only--exceptonly和except是两个参数用分支策略来限制jobs构建,后面会逐步被rules替代only定义哪些分支和标签的git项目将会被job执行。except定义哪些分支和标签的git项目将不会被job执行示例job:#use......
  • MD基本语法
    Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。Markdown具有一系列衍生版本,用于扩展Markdown的功能(如表格、脚注、内嵌HTML等等),这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。M......