仓颉编程语言入门 -- 标识符 , 变量以及数据类型详解

仓颉 – 标识符 , 变量以及数据类型

一. 标识符

1. 普通标识符

  1. 由数字 , 字母 , 下划线构成 – cangjie , cangjie_2024
  2. 由英文字母开头,后接零至多个英文字母、数字或下划线。
  3. 由一至多个下划线开头,后接一个英文字母,最后可接零至多个英文字母、数字或下划线。 cangjie_c919_o_o
  4. 不能由关键字作为普通标识符

2.原始标识符

​ 除此之外仓颉还提供了另一种标识符叫做原始标识符主要用于将关键字作为标识符的场景

if while

在这里插入图片描述

二. 变量

1. 可变变量

通过关键字var声明

var 变量名 : 变量类型 = 值

var name : String = "cangjie"
var age : Int64 = 18

name = "jixu"
age = 19

2.不可变变量

通过let 关键字let声明

let 变量名 : 变量类型 = 值

let str : String = "你好"

ps: 当不可变变量等号右边为表达式的时候运行时求值

3. 常量

通过const关键字let声明

const 常量名 : 常量类型 = 值

const name : String = "jixu"

ps: 当常量右边为表达式时编译的时候求职

在这里插入图片描述

三. 数据类型

1. 什么是类型

​ 类型就像一份协议,规定了一块数据的组织结构及相应的解析/操作方发

​ 相同的数据,赋予不同的类型/协议,解析和操作结果并不相同

​ 如果程序中传递的变量不具有类型信息,就可能导致数据误读/误操作等问题,产生预期之外的运行结果。

​ 仓颉编程语言是静态强类型语言,具有完备的类型系统,在编译时通过类型检查避免数据误用问题,并提升代码的可维护性。

在这里插入图片描述

2. 基础数据类型

1. 整型

仓颉的整型由Int8 , Int16 , Int32 , Int64 , Uint8 , Uint16 , Uint32 , Uint64 构成

有符号整型(Signed Integers)
int8:占用 8 位(1 字节)的存储空间,表示范围从 -128 到 127。
int16:占用 16 位(2 字节)的存储空间,表示范围从 -32,768 到 32,767。
int32:占用 32 位(4 字节)的存储空间,表示范围从 -2,147,483,648 到 2,147,483,647。
int64:占用 64 位(8 字节)的存储空间,表示范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。
有符号整型可以表示正数、负数和零。它们使用二进制补码表示法来存储负数。

无符号整型(Unsigned Integers)
uint8:占用 8 位(1 字节)的存储空间,表示范围从 0 到 255。
uint16:占用 16 位(2 字节)的存储空间,表示范围从 0 到 65,535。
uint32:占用 32 位(4 字节)的存储空间,表示范围从 0 到 4,294,967,295。
uint64:占用 64 位(8 字节)的存储空间,表示范围从 0 到 18,446,744,073,709,551,615。
无符号整型只能表示非负整数(包括零)。由于它们不需要表示负数,因此它们的数值范围比相同位数的有符号整型大一倍。

使用场景
选择哪种整型数据类型取决于你的具体需求,包括你预期的数据范围、是否需要表示负数以及内存使用的考虑。
在处理大量数据时,较小的数据类型(如 int8 或 uint8)可以显著节省内存和存储空间。
在需要确保数值不会超出特定范围时,使用固定大小的整型(如 int32 或 uint32)可以提供额外的安全保障。
在进行跨平台或跨语言开发时,了解不同系统或语言对整型数据类型的支持情况也很重要。例如,一些较老的系统或语言可能不支持 int64 或 uint64,或者它们的实现方式可能与现代系统有所不同。

var age : Int64 = 18
var size : UInt = 8

2. 浮点数类型

仓颉的浮点型由Float16 , Float32 , Float64 构成

var a : Float16 = 1.33
3. 布尔类型

仓颉的布尔类型由Bool 构成

var b : Bool = true
4. 字符类型

仓颉的字符类型由Rune构成

let e:Rune= '仓'
5. 字符串类型

仓颉的字符串类型由String构成

字符串类型提供了使用+进行拼接 . 以及""" “”"三个双引号用来保留原来的文本格式

var name : String = "仓颉"
// 字符串拼接
var c : String = "你好" + "仓颉"
// 保留原格式
var d : String = """
        若到江南赶上春,
    千万和春住
            """

在这里插入图片描述

  • 24
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攒了一袋星辰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值