# 入參和出參(Input Parameters and Output Parameters)
同`javascript`一樣,函數有輸入參數,但與之不同的是,函數可能有任意數量的返回參數。
### 入參(Input Parameters)
`入參(Input Parameter)`與變量的定義方式一致,稍微不同的是,不會用到的參數可以省略變量名稱。一種可接受兩個整型參數的函數如下:
```
pragma solidity ^0.4.0;
contract Simple {
function taker(uint _a, uint) {
// do something with _a.
}
}
```
### 出參(Output Parameters)
`出參(Output Paramets)`在`returns`關鍵字后定義,語法類似變量的定義方式。下面的例子展示的是,返回兩個輸入參數的求和,乘積的實現:
```
pragma solidity ^0.4.0;
contract Simple {
//return sum and product
function arithmetics(uint _a, uint _b) returns (uint o_sum, uint o_product) {
o_sum = _a + _b;
o_product = _a * _b;
}
}
```
出參的的名字可以省略。返回的值,同樣可以通過`return`關鍵字來指定。`return`也可以同時返回多個值,參見[Returning Multiple Values](http://solidity.readthedocs.io/en/develop/control-structures.html#multi-return)。出參的默認值為0,如果沒有明確被修改,它將一直是0。
入參和出參也可在函數體內用做表達式。它們也可被賦值。
### 返回多個值(Returning Multiple Values)
當返回多個參數時,使用`return (v0, v1, ..., vn)`。返回結果的數量需要與定義的一致。
#
- Solidity語言
- 入門說明
- Solidity智能合約文件結構
- 智能合約源文件的基本要素概覽
- 值類型
- 類型
- 布爾
- 整型
- 地址
- 字節數組
- 小數
- 字符串
- 十六進制字面量
- 枚舉
- 函數
- 引用類型
- 引用類型
- 數據位置
- 數組
- 數據結構
- 雜項
- 映射
- 左值運算符
- 類型間的轉換
- 類型推斷
- 單位
- 貨幣單位
- 時間單位
- 語言內置特性
- 特殊變量及函數
- 數學和加密函數
- 地址相關
- 進階
- 入參和出參
- 控制結構
- 函數調用
- 創建合約實例
- 表達式的執行順序
- 賦值
- 作用范圍和聲明
- 異常
- 內聯匯編
- 合約詳解
- 合約
- 可見性或權限控制
- 訪問函數
- 函數修改器
- 常狀態變量
- 回退函數
- 事件
- 繼承
- 接口
- 其它
- 庫
- 狀態變量的存儲模型
- 內存變量的存局
- 調用數據的布局