Kotlin 學習-方法和參數類型

/*** kotlin 的方法有三種* */fun main() { /*** 方法一* 1.普通類的成員方法申明與調用* (1)需要先構建出實例對象,才能訪問成員方法* (2)實例對象的構建只需要在類名后面加上()* */Person().test() /*** 方法二:靜態類里的方法都是靜態方法* 靜態類里的方法都是靜態方法*    不需要構建出實例對象,可以通過類名直接訪問靜態方法* */val num = NumberUtil.double(2)println("num=$num")   /*** 方法三:當我們想在一個普通類,也就是class聲明的類里面。想要定義一個靜態方法的話* 不需要構建實例對象,可以通過類名,直接訪問靜態方法* */Person.test2()read(1,2)read(start = 2)read2(1,2, action = {//方法體的最后一行就是方法的返回值val result=1*2"括號內傳遞參數  read2"})read2(start = 1){"括號外傳遞參數 read2"}val append:String= append('1','2','3','4')println("append:$append")  /*** 當我們調用vararg方法時,我們可以一個接一個地傳參,例如append('1,','2','r','d'),* 或者如果我們已經有一個數組并且希望將其所有內容傳給該方法,我們使用延展(sread)操作符(在數組前面加*):* */val world= charArrayOf('1','2','r','d')val result= append('h','e','l','l','o',*world)println("sread_result:$result")}//普通類
class Person {//方法一fun test() {println("成員方法")}//方法二companion object {fun test2(){println("伴生類")}}
}/*** object修飾的類都是靜態類* */
object NumberUtil {//方法三fun double(num: Int): Int {return num * 2}
}
/*** 方法中的參數* 參數類型
 * 1.默認參數* 2.具名參數:指定參數名稱* 3.可變參數* 如果一個默認參數在一個默認值的參數之前,那么無默認值的參數,只能通過使用具明參數調用該方法來使用* 如:read(start=1) 僅僅只給start傳值,使用默認值offset=0* */
fun read(offset:Int=0,start:Int){println("offset:$offset   start=$start")}
/*** * 如果最后一個參數是方法,那么它既可以作為具名參數在括號內傳入,也可以在括號內傳入* 第三個參數action:是一個方法* 如果參數的類型是(),說明它是一個方法,如action:()* 方法參數的返回值使用->:如果不需要返回值,使用Unit;如果需要放回Int,就使用Int,其他都這樣類似** 可變參數的要求*   只有一個參數可以標注為vararg*   如果vararg參數不是最后一個參數,可以使用具名參數語法,給后面的參數的傳遞值* */
fun read2(offset:Int=0,start:Int,action:()->String){val ret=action()println("offset:$offset   start=$start  ret:$ret")}
/*** 可變數量的參數* 方法的參數(通常是最后一個)可以用vararg修飾標記* */
fun append(vararg  str:Char):String{val result = StringBuffer()for (char in str){result.append(char)}return  result.toString()
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/901357.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/901357.shtml
英文地址,請注明出處:http://en.pswp.cn/news/901357.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

頭歌 | WPS文檔基本操作

若為出現預期結果可私信我答疑 2025年4月9日 第1關:新建WPS文檔和保存文檔 在本地創建一個1.sh,內容寫入echo 我的第一個WPS文檔.docx創建成功點擊工具欄 點擊上傳文件把剛剛創建的1.sh上傳 點擊圖形化 點擊workspace>userfiles, 復制上傳的文件1.sh返回上一級…

使用docker 安裝向量數據庫Milvus

Miluvs 官網 www.milvus.io/ https://milvus.io/docs/zh/install_standalone-docker-compose-gpu.md 一、基本概念 向量數據庫:Milvus是一款云原生向量數據庫,它支持多種類型的向量,如浮點向量、二進制向量等,并且可以處理大規模…

ps 人像學習

視頻: 一ps快捷鍵 1.1 創建圖層 ctrlj 1.2 放大縮小圖片的大小 按住alt 滾輪 1.3 移動圖片 空格 左鍵 1.4 撤回 ctrlz 二 精修的第一步是去除斑點,瑕疵, 2.1 污點修復畫筆工具 新建一個圖層,點擊污點修復工具進行修復…

數據結構第五版【李春葆】

? 數據結構教程上機實驗指導第5版(李春葆主編).pdf 數據結構教程(第5版)(李春葆).pdf 數據結構教程(第五版)課后習題參考答案(李春葆).pdf 數據結構教…

(二十三)安卓開發中數據存儲之Room詳解

在安卓開發中,Room 是一個強大的本地數據庫解決方案,它是 Android Jetpack 的一部分,基于 SQLite 構建,提供了更高層次的抽象。Room 簡化了數據庫操作,減少了樣板代碼,同時支持與 LiveData 和 ViewModel 的…

[C++面試] 初始化相關面試點深究

一、入門 1、C中基礎類型的初始化方式有哪些?請舉例說明 ?默認初始化? 對于全局變量和靜態變量,基礎類型(如int、float、double等)會被初始化為 0;而對于局部變量,其值是未定義的,包含隨機…

網絡安全之-信息收集

域名收集 域名注冊信息 站長之家 https://whois.chinaz.com/ whois 查詢的相關網站有:中國萬網域名WHOIS信息查詢地址: https://whois.aliyun.com/西部數碼域名WHOIS信息查詢地址: https://whois.west.cn/新網域名WHOIS信息查詢地址: http://whois.xinnet.com/domain/whois/in…

Linux網絡http與https

應用層協議HTTP 提示 因為現在大多數都是https,所以就用https來介紹http,https比http多了一個加密功能,不影響介紹http。 什么是http 雖然我們說, 應用層協議是我們程序猿自己定的. 但實際上, 已經有大佬們定義了一些現成的, 又非常好用的…

講解貪心算法

貪心算法是一種常用的算法思想,其在解決問題時每一步都做出在當前狀態下看起來最優的選擇,從而希望最終能夠獲得全局最優解。C作為一種流行的編程語言,可以很好地應用于貪心算法的實現。下面我們來講一篇關于C貪心算法的文章。 目錄 貪心算法…

vue3中watch的使用示例

使用情況說明: 1、父組件中有個表格,點擊表格行的修改基礎信息,彈出修改對話框; 2、修改內容點擊確認,發送請求,后端更新數據;不修改內容不發送請求; 3、可以連續修改&#xff1b…

Spring MVC 請求類型注解詳解

Spring MVC 請求類型注解詳解 1. 核心注解分類 Spring MVC 中的請求處理注解分為以下幾類: 類別注解示例作用范圍方法級注解RequestMapping, GetMapping 等方法級別參數級注解RequestParam, RequestBody方法參數模型/會話注解ModelAttribute, SessionAttributes方…

C#: DxF文件中Spline解析

以下是使用C#解析DXF文件中Spline(樣條曲線)的完整代碼示例,使用流行的netDxf庫來處理DXF文件: 1. 安裝netDxf庫 首先通過NuGet安裝netDxf庫: Install-Package netDxf 2. 完整Spline解析代碼 using System; using System.Collections.Ge…

【軟考系統架構設計師】系統架構設計知識點

1、 從需求分析到軟件設計之間的過渡過程稱為軟件架構。 軟件架構為軟件系統提供了一個結構、行為和屬性的高級抽象,由構件的描述、構件的相互作用(連接件)、指導構件集成的模式以及這些模式的約束組成。 軟件架構不僅指定了系統的組織結構和…

二.springBoot項目集成ElasticSearch及使用

二.springBoot項目集成ElasticSearch及使用 1.依賴引入2.ElasticSearch常見用法 1.依賴引入 <!--elasticsearch搜索引擎--> <!--高版本7.0后TransportClient已被淘汰&#xff0c;用rest-high-level-client代替--> <dependency><groupId>org.elasticse…

微服務多模塊構建feign項目過程與一些報錯(2025詳細版)

目錄 1.eureka-server的注意事項 2.eureka-feign的注意事項 3.多模塊構建feign項目過程 3.1創建父項目 3.2創建子項目eureka-server 3.3創建子項目eureka-provider 3.4創建子項目eureka-feign 3.5運行 給個點贊謝謝 1.eureka-server的注意事項 eureka-server的yml文件…

第十一屆 藍橋杯 嵌入式 省賽

一、分析 本屆的風格又變了一番&#xff0c;但是難度也降低了些。 又是考察了 PWM 和 ADC。 第八、九屆也考察了 PWM。建議先復習這兩屆&#xff0c;再回來模擬。 LCD的顯示也提了額外的要求。 1. 功能概述 電位器 R37 輸出的模擬電壓信號 PA6輸出頻率固定&#xff0c;占…

小試牛刀-抽獎程序

編寫抽獎程序 需求&#xff1a;設計一個抽獎程序&#xff0c;點擊抽獎按鈕隨機抽取一個名字作為中獎者 目標&#xff1a;了解項目結構&#xff0c;簡單UI布局&#xff0c;屬性方法、事件方法&#xff0c;程序運行及調試 界面原型 ? 待抽獎&#xff1a; 點擊抽獎按鈕&#x…

代碼隨想錄算法訓練營day2(數組)

華子目錄 長度最小的子數組思路 螺旋矩陣思路總結 長度最小的子數組 https://leetcode.cn/problems/minimum-size-subarray-sum/ 思路 使用滑動窗口&#xff0c;left表示滑動窗口的起始點&#xff0c;right表示滑動窗口的終點 class Solution:def minSubArrayLen(self, targ…

6.1 GitHub億級數據采集實戰:雙通道架構+三級容災設計,破解API限制與反爬難題

GitHub 項目數據獲取功能設計與實現 關鍵詞:GitHub API 集成、網頁爬蟲開發、數據存儲設計、定時任務調度、異常處理機制 1. 數據獲取架構設計 采用雙通道數據采集策略,同時使用 GitHub 官方 API 和網頁爬蟲技術確保數據完整性: #mermaid-svg-XUg7xhHrzFAozG4J {font-fami…

設計模式(結構型)-橋接模式

目錄 摘要 定義 類圖 角色 具體實現 優缺點 優點 缺點 使用場景 使用案例 JDBC 和橋接模式 總結 摘要 在軟件開發領域&#xff0c;隨著系統規模和復雜性的不斷攀升&#xff0c;如何設計出具有良好擴展性、靈活性以及可維護性的軟件架構成為關鍵挑戰。橋接模式作為一…