scalal 函式注意事項和細節討論

2021-10-07 21:49:10 字數 1476 閱讀 5489

- 函式的形參列表可以是多個, 如果函式沒有形參,呼叫時可以不帶()

package com.xcu.chapter06.homework

object demo01

}class

dog}

// 輸出結果: 狗正在吃骨頭!

- 形參列表和返回值列表的資料型別可以是值型別和引用型別
object demo01 

def create

(dog: dog)

: dog =

}class

dog// 輸出結果:金毛

- scala 中的函式可以根據函式體最後一行**自行推斷函式返回值型別。那麼在這種情況下,return 關鍵字可以省略
object demo01 

def create

(dog: dog)

: dog =

}class

dog// 輸出結果:金毛

- 如果函式明確使用 return 關鍵字,那麼函式返回就不能使用自行推斷了,這時要明確寫成 : 返回型別 = ,當然如果你什麼都不寫,即使有 return 返回值為() .
object demo01 

def create

(dog: dog)

: 返回值型別=

}class

dog

- 如果函式用unit明確宣告無返回值,那麼函式體中即使使用 return 關鍵字也不會有返回值
object demo01 

def mysum

(a: int, b: int)

: unit =

}// 輸出結果:()

-如果明確函式無返回值或不確定返回值型別,那麼返回值型別可以省略
object demo01 

def mysum

(a: int)=}

// 輸出結果:2

遞迴函式未執行之前是無法推斷出來結果型別,在使用時必須有明確的返回值型別

-scala 語法中任何的語法結構都可以巢狀其他語法結構(靈活),即:函式中可以再宣告/定義函式

不在演示

- scala 函式的形參,在宣告引數時,直接賦初始值(預設值),這時呼叫函式時,如果沒有指定實參,則會使用預設值。如果指定了實參,則實參會覆蓋預設值

object demo01 

def call_name

(name: string =

"老王")=

}// 輸出結果:老李

- scala 函式支援可變引數

可變引數要放在最後

object demo01 

def sum

(a: int, args: int*)=

}// 輸出結果:15

Scala函式注意事項和細節討論

函式的形參列表可以是多個,如果函式沒有形參,呼叫時可以不帶 形參列表和返回值列表的資料型別可以是值型別和引用型別 object details01 def test01 n1 int,tiger tiger tiger class tiger scala中的函式可以根據函式體最後一行 自行推斷函式返...

go 函式使用時的注意事項和細節

函式的心餐列表可以時多個,返回值列表也可以是多個 形參列表和返回值列表的資料型別可以是值型別和引用型別 函式的命名遵循識別符號命名規範,首字母不能是數字,首字母大寫該函式可以被本包檔案和其他包檔案使用,首字母小寫,將只能被本包檔案使用,其他包檔案不能使用 函式中的變數是區域性的,函式外不生效 基本資...

Go 結構體使用注意事項和細節

結構體 type point struct 結構體 type rect struct func main point r1有四個int,在記憶體中是連續分布 列印位址 fmt.printf r1.leftup.x 位址 p r1.leftup.y 位址 p r1.rightdown.x 位址 p r...