本文主要是介绍Kotlin 第三讲 :实战第一课-变量的声明,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景:
最近google动作比较大,
1.Flutter发布了beta版本
2.Dart语言再次成为大家讨论的热点
从整个的背景来看,google想要做的一件事情就是统一一种可以在任何平台上都可以使用的语言,无论是Dart还是Kotlin其实都是这个趋势,虽然很难但凭借Google在行业内的影响力,未必没有办法实现,有时间我会将整个Dart的发展历史与大家介绍一下,大家就知道google在这件事上有多么上心了,可以用屡战屡败,屡败屡战来形容。
下面回到kotlin语言,最近决定在写demo的时候,都迁移到kotlin来开发,
第一是为了可以更加熟悉kotlin
第二这样花费的代价最小
在Android中我们在使用的时候,代码是这样的
WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView = (WebView) findViewById(R.id.webView);}
直接转换到kotlin是这样的
var webView:WebView
protected fun onCreate(savedInstanceState:Bundle) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)webView = findViewById(R.id.webView) as WebView
}
代码拷贝过去之后,发现无法运行。
1.在第一行显示:
Property must be initialized or abstract
所以我们有两种方法
1.var webView:WebView ?= null
2.lateinit var webview:WebView
1.一个是允许为null 2.稍后初始化
webView = findViewById(R.id.webView) as WebView
这段代码也是会报错的,意思是无法判断类型,所以我们需要指定一下类型
webview = findViewById<WebView>(R.id.webView)
所以全部代码改造完成之后如下:
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.webkit.WebViewclass MainActivity : AppCompatActivity() {lateinit var webview:WebViewoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)webview = findViewById<WebView>(R.id.webView)}
}
这篇关于Kotlin 第三讲 :实战第一课-变量的声明的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!