Kotlin Android 第5天,从 0 到 ML - 函式

前言:

   函式,可以让我们的code 看起来比较好懂,重复利用性也会提高。

大纲:

修饰符号  函式宣告关键字  函式名称  (             函式参数              ) : 返回函式型
private   fun        iron30Day (afterDay: Int , totalDay: Int     ) :  Int 
        
        

函式是如何呼叫的

   class Day5Activity : AppCompatActivity() {
   override fun onCreate(savedInstanceState: Bundle?) {
      super.onCreate(savedInstanceState)
      setContentView(R.layout.activity_day5)

      callIthomeDaysLeft()
      printIthomeDaysLeft(5,)
      printIthomeDaysLeft(6,30)
    
      var ironDaysLeft:Int = returnIthomeDaysLeft(7,30)
      var ironDaysLeftDefault:Int = returnIthomeDaysLeft(7)
      var ironDaysLeft1:Int = returnIthomeDaysLeft1(7,30)
      println("return ironDaysLeft = "+ironDaysLeft)
      println("return ironDaysLeftDefault = "+ironDaysLeftDefault)
      println("return ironDaysLeft 1 Line = "+ironDaysLeft1)
      println(ironAfterDay(5))
   }

   //funtion unit  不用返回型式函式
   private fun callIthomeDaysLeft(){
    var totalDay =30
    var day =5
    println("Iron Day Left = "+ (totalDay-day))
   }

   //参数有预设值,不用返回型式函式
   private fun printIthomeDaysLeft(day:Int, totalDay:Int=30){
   println("Iron Day Left = "+ (totalDay-day))
   }

   //参数有预设值,返回 Int 型式函式
   private fun returnIthomeDaysLeft(day:Int, totalDay:Int=30) :Int{
     return totalDay - day
   }

   //one line function  单行表达式
   private fun returnIthomeDaysLeft1(day:Int, totalDay:Int=30) :Int = totalDay - day

   //lambda 表达式 
   private var ironAfterDay: (Int) -> String = { afterDay ->
    println("ironAfterDay = "+afterDay)
    "return ironAfterDay = "+afterDay
   }
   }

执行结果:
https://ithelp.ithome.com.tw/upload/images/20210910/20121643Tm48fOTfLF.png

参考:
https://kotlinlang.org/docs/functions.html
https://kotlinlang.org/docs/lambdas.html


<<:  Leetcode 挑战 Day 07 [118. Pascal's Triangle]

>>:  EP 2: Format the project design of TopStore App for MVVM framework

便利贴 App 专案介绍

Screenshot 专案介绍 相信大家都有用过便利贴吧!在开会讨论时便利贴是一个很好用的工具,不同...

ESP32_DAY9 开发好夥伴-电阻

今天来介绍另外一个开发好夥伴-电阻!! 电阻 电阻(resistance)是表示电子在物质中移动所...

[Day 01] 你要的全能IDE,Visual Studio Code,它来了!

前言 大家好,我是刚从硕士班毕业不到一年的社会新鲜人,目前担任小小的AI工程师。 兴趣是资料分析和深...

一次一件事就好,对你而言最重要的东西是什麽?

Fake it till you make it(假装成功,直到你真的成功)。 - Emily i...

Day 21 - SwiftUI开发学习5(文字填入)

今天我们来学习如何使用填入文字的物件 正文 文字填入 TextField 可以将文字填入进去。 如果...