当前位置:网站首页>Kotlin introductory notes (II) a brief introduction to kotlin functions
Kotlin introductory notes (II) a brief introduction to kotlin functions
2022-07-05 09:13:00 【Meng Meng Mu Xi】
Preface : This tutorial is best done with JAVA Study on the basis of
One 、main Use of functions
(1) Did you learn java My friends should know ,java Of main The method is static , And written in class in .Kotlin It's different , In general, you can write main The function is written in class Outside
class Test{
}
/** I am a main Entry function **/
fun main(args: Array<String>) {
var test=Test();
println("main stay class External execution !")
}Running results :

(2) Of course, there will be main The function is written in class In the method
( This paragraph is reproduced from :https://blog.csdn.net/qq_19306415/article/details/81902197)
class Test{
companion object {
/** I am a main Entry function **/
@JvmStatic
fun main(args: Array<String>) {
var test=Test();
}
}
}explain :
companion object { // I'm a static block
/**
The static variables and static methods defined here , similar java Of :static
**/
}amount to java Medium
public static void main(String[] args){
}Link to the original text :https://blog.csdn.net/qq_19306415/article/details/81902197
Two 、 Ordinary function
Statement : Use fun Keywords to declare (function Abbreviation )
Format :
fun method(param1 : Int , param2 : Int) : Int {
return 0
}
PS: Declare the return value type of the function , If it is Void Don't write ( Omit )
Above method refer to Method name , Parameter one And Parameter two Refers to the parameter name , Method name And Parameter name You can modify it yourself . If you don't want to receive any parameters , Then you can write only a pair of empty parentheses .( This is related to java identical )
Two 、 Built in functions
Definition : from Kotlin Provides a series of built-in functions
Some simple built-in functions :
Such as :Int max(Int num)
usage :( To guide the package : import kotlin.math.max)
fun largerNumber(num1 : Int , num2 : Int) : Int {
return max(num1,num2)
}There are also some complex built-in functions , Such as
- let function
- also function
- with function
- run function
- apply function
- ...
Not today , But the above is biased Java A way of writing ,Kotlin Provides a more convenient syntax format :
(1) When there is only one line of code in a function ,Kotlin Allow us not to write the function body , You can use the only line of code "=" Connected at the tail
fun largerNumber(num1 : Int , num2 : Int) : Int = max(num1 , num2)however , In fact, it can be further simplified ...
(2) because max() Function returns Int value ,largerNumber() The equals sign is used in the tail again , therefore Kotlin It can automatically deduce largerNumber() The return of the function must also be a Int value , So you don't have to show the declaration Int
fun largerNumber(num1 : Int , num2 : Int) = max(num1 , num2)Kotlin The small white , I took notes while studying teacher Guolin's works . If there are any mistakes, please point out ! Thank you for reading !
Reference resources :
Kotlin How to create in a class main function _ New ape blog -CSDN Blog _kotlin main function
《 First line of code Android ( The third edition )》 --- Guo Lin
边栏推荐
- Beautiful soup parsing and extracting data
- C # image difference comparison: image subtraction (pointer method, high speed)
- Oracle advanced (III) detailed explanation of data dictionary
- It's too difficult to use. Long articles plus pictures and texts will only be written in short articles in the future
- Editor use of VI and VIM
- [technical school] spatial accuracy of binocular stereo vision system: accurate quantitative analysis
- Introduction Guide to stereo vision (6): level constraints and polar correction of fusiello method
- 生成对抗网络
- Summary of "reversal" problem in challenge Programming Competition
- Jenkins Pipeline 方法(函数)定义及调用
猜你喜欢

My experience from technology to product manager

Ros-10 roslaunch summary

Use and programming method of ros-8 parameters

fs. Path module

Confusion matrix

Programming implementation of ROS learning 5-client node

Priority queue (heap)

c语言指针深入理解

Hi Fun Summer, play SQL planner with starrocks!

Install the CPU version of tensorflow+cuda+cudnn (ultra detailed)
随机推荐
Programming implementation of subscriber node of ROS learning 3 subscriber
Editor use of VI and VIM
太不好用了,长文章加图文,今后只写小短文
2310. 个位数字为 K 的整数之和
Ros-10 roslaunch summary
编辑器-vi、vim的使用
【PyTorch Bug】RuntimeError: Boolean value of Tensor with more than one value is ambiguous
Return of missing persons
C # draw Bezier curve with control points for lattice images and vector graphics
AUTOSAR从入门到精通100讲(103)-dbc文件的格式以及创建详解
Programming implementation of ROS learning 2 publisher node
Install the CPU version of tensorflow+cuda+cudnn (ultra detailed)
Attention is all you need
Programming implementation of ROS learning 5-client node
Summary and Reflection on issues related to seq2seq, attention and transformer in hands-on deep learning
C#绘制带控制点的Bezier曲线,用于点阵图像及矢量图形
信息與熵,你想知道的都在這裏了
C#图像差异对比:图像相减(指针法、高速)
Global configuration tabbar
RT thread kernel quick start, kernel implementation and application development learning with notes