swift定義引數個數可變的函式

2021-10-22 20:28:19 字數 856 閱讀 5655

在oc中,當乙個功能豐富的類對外暴露介面時,在.**件中往往會提供一系列的api,引數由少到多。但是在.m檔案的實現中,往往都是利用乙個通用的實現。例如:

宣告 

+ (int)addnuma:(int)numa

numb:(int)numb;

+ (int)addnuma:(int)numa

numb:(int)numb

numc:(int)numc;

+ (int)addnuma:(int)numa

numb:(int)numb

numc:(int)numc

numd:(int)numd;

實現 

+ (int)addnuma:(int)numa

numb:(int)numb

+ (int)addnuma:(int)numa

numb:(int)numb

numc:(int)numc

+ (int)addnuma:(int)numa

numb:(int)numb

numc:(int)numc

numd:(int)numd

**量很龐大,在swift中有更簡單的方式來實現:

func add(numa:int,numb:int,numc:int = 0,numd:int = 0) -> int
self.add(numa: 10, numb: 20, numc: 12, numd: 90)

self.add(numa: 20, numb: 50)

只需要在方法宣告中按照上面的格式給出預設值就行。

引數個數可變的函式

今天突然想起引數個數可變的函式,然後想了下,覺得自己還真不太了解它,遂決定弄清楚。1.如何取得可變引數 比如 void f int fixpara1,char p char fixpara1 取得固定引數位址 cout int p 為什麼p 4可以取到第乙個可變引數呢?因為引數在函式被呼叫前,會逐個...

可變引數個數的函式

type vafunction type arg1,type arg2,引數可以分為兩部分 個數確定的固定引數和個數可變的可選引數。函式至少需要乙個固定引數,固定引數的宣告和普通函式一樣 可選引數由於個數不確定,宣告時用 表示。固定引數和可選引數公同構成乙個函式的引數列表。標準c c 包含標頭檔案s...

引數個數可變的巨集

出處 乙個介紹 macros很好的 在 gnu c 中,巨集可以接受可變數目的引數,就象函式一樣,例如 define pr debug fmt,arg.printk kern debug fmt,arg 用可變引數巨集 variadic macros 傳遞可變參數列 你可能很熟悉在函式中使用可變參數...