一、首先看一个例子
二、val和var的分析
package net.println.kotlin.chapters
/**
* @author:wangdong
* @description:
*/
/**
* val = value ,值类型
* 类型java的final
* 一旦被定义被初始化,不能再次改变,不能重复赋值
* 运行时常量:val x = getX()
* 编译时常量:const val x = 2
*/
/**
* val 表示它是一个常量值
* 不能被改变,相当于java中的
* public final String FINAL_HELLO_WORLD = "HelloWorld";
*/
//这种写法,不是编译器常量
val FINAL_HELLO_WORLD: String = "HelloWorld"
//这种写法是编译器常量,需要加上const
const val FINAL_BOY: String = "HelloBoy"
//Java中每次都需要写类型
//val 可以根据你的赋值自动判断类型
val FINAL_HELLO_CHINA = "你好中国啊啊啊" //String
/**
* 变量
* var = variable
* 举例:
* var x = "helloworld"
* x = "hiboy" //x的值就变了
*/
/**
* 编译器自动判断变量的类型
* var a = "hello" //推导出String
* var b = 5 //Int
* var c = a + b //String
*/
fun main(args: Array<String>) {
//想再给它赋值,编译器说它是不能再改变的
//FINAL_HELLO_WORLD = "你好世界"
println(FINAL_HELLO_CHINA)
}