第十課 go語言函數

來源:互聯網
上載者:User

標籤:print   3.1   定義   引用   定義函數   不同   nbsp   數組   port   

1 內建函數

  len() 函數可以接受不同型別參數並返回該類型的長度。

  如果我們傳入的是字串則返回字串的長度,

  如果傳入的是數組,則返回數組中包含的元素個數。

2  自訂函數

// 函數返回單個值func Max(a, b int) int {    if a > b {        return a    } else {        return b    }}// 函數返回多個值func Swap(a, b int) (int, int) {    return b, a}

 3  值傳遞 和 引用傳遞

var aa, bb int = 1, 10    Swap2(&aa, &bb)    fmt.Println(aa)    fmt.Println(bb)func Swap2(a *int, b *int) () {    var temp int    temp = *a    *a = *b    *b = temp}

4 函數方法

  方法就是一個包含了接受者的函數,接受者可以是命名類型或者結構體類型的一個值或者是一個指標。所有給定類型的方法屬於該類型的方法集

 

package main

import "fmt"

type Circle struct { //定義結構體
radius float64
}

func main() {
var c Circle
c.radius = 10.00
fmt.Println("Area of c is ", c.getArea()) // 可以直接調用結構體的方法

}

func (c Circle) getArea() float64 { // 這個方法是結構體的方法
return 3.14*c.radius*c.radius
}

5 函數閉包 

第十課 go語言函數

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.