# Solidity定义函数独有的语法

By [石小龙](https://paragraph.com/@0x994cd38723375a0eb0d55fcbc1e2a862fd49d007) · 2024-11-22

---

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

*   这个传递函数参数的语法，在其他任何编程语言中都没有类似的实现，算是Solidity独有的写法；
    
*   修饰符分类三种：
    
    *   calldata
        
    *   memory
        
    *   storage
        
*   哪些地方能够用到参数修饰符？
    
    *   但函数的参数类型是**引用类型**的时候：
        
        *   string
            
        *   bytes
            
        *   struct
            

* * *

### 为何这么设计？

*   智能合约对于资源使用极其敏感，由于资源是有限的，而部署的合约数量又是无限的，所以语言设计上就讲究对于资源的极致使用
    
*   故语法上更追求高性能，高安全性，而忽略简洁易用，这与Python的设计理念就完全相反

---

*Originally published on [石小龙](https://paragraph.com/@0x994cd38723375a0eb0d55fcbc1e2a862fd49d007/solidity-3)*
