Swift中的參數內部名稱和外部名稱

來源:互聯網
上載者:User

標籤:self   1.3   img      span   ima   gre   參數   log   

1.什麼是參數的內部名稱和外部名稱?
struct Color {    let red, green, blue: Double        init(red redColor: Double,green greenColor: Double,blue blueColor: Double) {        red = redColor        green = greenColor        blue = blueColor    }}

1.1  Color這個結構體的構造方法中提供了三個參數,其中red是第一個參數的外部名稱,redColor是第一個參數的內部名稱;同理green和blue分別是第二、三個參數的外部名稱,greenColor和blueColor分別是第二、三個參數的內部名稱。外部名稱在建立執行個體時的提示中顯示,內部名稱只能在構造方法內部使用,兩個名稱指的是同一個參數。在建立執行個體時會顯示外部名稱:

 

1.2  如果只有參數的內部名稱,沒有外部名稱,編譯器會自動為參數建立一個和內部名稱相同的外部名稱。看執行個體:

 

這個只有一個參數的建構函式的外部參數名稱和內部參數名稱相同。

1.3  內部參數名稱可以用來區分是傳入的參數還是執行個體的屬性,也可以用self來區分

struct Color {    let red, green, blue: Double        init(RED redColor: Double,GREEN greenColor: Double,BLUE blueColor: Double) {        red = redColor        green = greenColor        blue = blueColor    }        init(white: Double) {        red = white        green = white        blue = white    }        init(red: Double,green: Double,blue: Double) {        self.red = red        self.green = green        self.blue = blue    }}

1.4  編譯器根據外部參數名稱去檢查構造器是重載還是重名的。 

1.5  如果不希望提供參數的外部名稱,可以用_顯示代替參數的外部名稱,建立執行個體的時候,編譯器會顯示參數的內部名稱。

struct Color {    let red, green, blue: Double        init(red redColor: Double,green greenColor: Double,blue blueColor: Double) {        red = redColor        green = greenColor        blue = blueColor    }        init(white: Double) {        red = white        green = white        blue = white    }    init(_ red1: Double,_ green1: Double,_ blue1: Double) {        self.red = red1        self.green = green1        self.blue = blue1    }    }

 

 

 

 

Swift中沒有為屬性建立帶底線的後台執行個體變數,所以在

Swift中的參數內部名稱和外部名稱

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.