risc-v中文社区

 找回密码
 立即注册
查看: 1009|回复: 0

[原创] risc-v开发基础 Scala数据类型---(1)

[复制链接]

347

主题

564

帖子

2237

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2237
发表于 2021-7-31 19:21:45 | 显示全部楼层 |阅读模式
目前risc-v芯片可以用verilog来开发,也可以用基于scala为基础的各种工具来开发,scala比verilog有优势的地方在于更方便更高效,不足的地方是目前verilog的资源较多,我个人感觉,长远来看,基于scala的各种工具将会有更大的机会成为主流。所以首先本版要介绍scala知识。
scala与java保持着大部分兼容的特性,所以数据类型也有很多相同的:
Byte,Short,Int,Long,Float,Double,Char,String,Boolean,Unit(表示无值,与c或java中的void类似),Null(null或空引用),Nothing(在scala的类结构层次中,Nothing处于最底层,是其它任何类型的子类),Any(类似java中的Object),AnyRef(是所有引用类型的基类)。
变量定义一般采用类型自动推断,比如:
var str = "hello"
这代表str被自动推断为String类型,其值为"hello"字符串。scala不需要在一句代码的结束处用分号,我们知道java是需要用分号。
如果需要自已手动规定变量的类型,可以这样做:
var str:String = "hello"
定义变量有有二种:val和var,具体区别实验如下:
    var str:String = "test string"
    println(str)
    str = "hello world"
    println(str)
    val str2:String = "Test val"
    println(str2)
上面代码显示如下:
test string
hello world
Test val
当我们在println(str2)代码下面再加一行:str2="hello val"发现idea工具提示出错。因为scala中val定义的变量相当于java中的final,也就是说一但定义被赋于了初值,以后就不能再改变值了,而var定义的变量则可以修改其值。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



Archiver|手机版|小黑屋|risc-v中文社区

GMT+8, 2024-4-27 19:46 , Processed in 0.026869 second(s), 17 queries .

risc-v中文社区论坛 官方网站

Copyright © 2018-2021, risc-v open source

快速回复 返回顶部 返回列表