一点Kotlin笔记

 网站:  Kotlin 备忘清单 & kotlin cheatsheet & Quick Reference

           Android 之 Compose 开发基础  |  Kotlin  |  Android Developers

1.一些变量的定义
var numbers: Array<Int = Array<Int>(3, {0})
var integers = Array<Int>(3, {0})
var names = arrayOf("A", "B", "C")
var twoDim = Array<Array<Int>>(3, {
      Array<Int>(3, {0})
    })
var twoLines = arrayOf(
      arrayOf("a", "b", "c"),
      arrayOf("d", "e", "f")
    )
2.类和构造函数
/*
普通的类
*/
class AnyClass {
    var id: Int = 0
    //类中定义变量必须先赋值
    
    //构造函数
    constructor(){
        println("Primary Constructor")
    }
    
    constructor(id: Int){
        this.id = id
        println("ID = $id")
    }
}

fun main(){
    //val anyClass = AnyClass()
    AnyClass()

    //val anotherAnyClass = AnyClass(100)
    AnyClass(100)
}



/*
类连接接口:
例:在MVC架构中Controller连接Model接口:
*/
class ControllerClass: ControllerInterface {
    private var xxModel: ModelInterface? = null
    //必须赋值null不然报错

    override fun attachModel(xxModel: ModelInterface) {
        this.xxModel = xxModel
    }

    override fun controllerFunc(){
        xxModel?.modelFunc()
    }
    override fun controllerFunc(variable: Int){
        xxModel?.modelFunc(variable)
    }
}
3.Compose for Desktop项目 
import androidx.compose.desktop.ui.tooling.preview.Preview
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.material.Button
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.window.Window
import androidx.compose.ui.window.application

@Composable
@Preview
fun App() {
    var text by remember { mutableStateOf("Hello, World!") }

    //MaterialTheme是App的整个窗口
    MaterialTheme {
        //Button是可视的,可显示一些东西(如文本)
        Button( onClick = { text = "Hello, Desktop!" })
        {
            Text(text)
        }
        //Row和Column不显示任何事物,但可以安排需要显示的事物的布局
        //如果Row和Column标红,鼠标放在上面根据提示进行import操作
        Row{
            Text("Hello")
            Text("World")
        }
        Column{
            Text("Hello")
            Text("World")
        }
    }
}

fun main() = application {
    Window(onCloseRequest = ::exitApplication) {
        App()
    }
}

*网上kotlin资料居然不算多,泪目

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值