Solidity定义函数独有的语法

函数参数存储位置修饰符,也可以简称参数修饰符

  • 这个传递函数参数的语法,在其他任何编程语言中都没有类似的实现,算是Solidity独有的写法;

  • 修饰符分类三种:

    • calldata

    • memory

    • storage

  • 哪些地方能够用到参数修饰符?

    • 但函数的参数类型是引用类型的时候:

      • string

      • bytes

      • struct


为何这么设计?

  • 智能合约对于资源使用极其敏感,由于资源是有限的,而部署的合约数量又是无限的,所以语言设计上就讲究对于资源的极致使用

  • 故语法上更追求高性能,高安全性,而忽略简洁易用,这与Python的设计理念就完全相反