仓颉入门级基础教程 - 变量声明与赋值
·

什么是变量?🤔
想象一下,变量就像是一个带标签的盒子:
- 盒子有个名字(变量名)
- 盒子里可以放东西(数据)
- 你可以随时查看或更换盒子里的东西
一、变量声明的两种方式 ✨
1. 使用 let 声明(不可变变量)
let age = 25
let name = "小明"
let isStudent = true
特点:
- 用
let声明的变量,赋值后不能修改 - 就像把东西放进密封的盒子,只能看不能改
- 适合存储不需要改变的数据 ✅
2. 使用 var 声明(可变变量)
var score = 85
score = 90 // 可以修改!
var count = 0
count = count + 1 // 可以累加
特点:
- 用
var声明的变量,可以随时修改 - 就像普通盒子,可以反复更换里面的东西
- 适合需要改变的数据 🔄
二、变量类型 📝
仓颉是静态类型语言,但支持类型推断,让我们看看常见类型:
基本数据类型
// 整数类型
let wholeNumber: Int64 = 100
var count = 42 // 自动推断为 Int64
// 浮点数类型
let pi: Float64 = 3.14159
var price = 99.99 // 自动推断为 Float64
// 布尔类型
let isReady: Bool = true
var hasFinished = false
// 字符串类型
let greeting: String = "你好,仓颉!"
var message = "欢迎学习"
类型推断 vs 显式类型 🎯
// 类型推断(推荐新手使用)
let age = 20 // 编译器自动知道是 Int64
let name = "张三" // 自动知道是 String
// 显式指定类型
let age: Int64 = 20
let name: String = "张三"
💡 小提示:刚开始学习时,让编译器自动推断类型更简单!
三、赋值操作 🎨
初始赋值
let x = 10 // 声明并赋值
var y: Int64 // 只声明,不赋值(需要指定类型)
y = 20 // 后续赋值
重新赋值(仅限 var)
var temperature = 25
temperature = 30 // ✅ 可以修改
let birthYear = 2000
birthYear = 2001 // ❌ 错误!let 声明的变量不能修改
复合赋值
var num = 10
num = num + 5 // 基本方式
num += 5 // 简写方式(推荐)
num -= 3 // 减法
num *= 2 // 乘法
num /= 4 // 除法
四、命名规则 📌
有效的变量名 ✅
let age = 18
let userName = "李华" // 驼峰命名
let user_name = "王芳" // 下划线命名
let score2024 = 95 // 可以包含数字
let 学生姓名 = "赵六" // 支持中文(但不推荐)
无效的变量名 ❌
let 2name = "错误" // 不能以数字开头
let user-name = "错误" // 不能包含连字符
let let = 10 // 不能使用关键字
命名建议 💡
- 见名知义:
studentAge比sa好 - 使用驼峰命名:
firstName,totalScore - 避免单字母:除非是循环变量(i, j, k)
- 保持一致性:整个项目使用同一种风格
五、实战练习 🎮
练习1:计算圆的面积
let radius = 5.0
let pi = 3.14159
var area = pi * radius * radius
println("圆的面积是: ${area}")
练习2:温度转换
var celsius = 25.0
var fahrenheit = celsius * 9.0 / 5.0 + 32.0
println("${celsius}°C = ${fahrenheit}°F")
练习3:购物计算
let price = 199.0
let quantity = 3
var total = price * Float64(quantity)
let discount = 0.9
total *= discount
println("总价: ${total}元")
六、常见错误及解决 ⚠️
错误1:修改 let 变量
let score = 80
score = 90 // ❌ 错误!
// 解决:使用 var
var score = 80
score = 90 // ✅ 正确
错误2:类型不匹配
var age: Int64 = 25
age = "二十五" // ❌ 错误!类型不匹配
// 解决:保持类型一致
var age: Int64 = 25
age = 30 // ✅ 正确
错误3:未初始化就使用
var count: Int64
println(count) // ❌ 错误!未初始化
// 解决:先赋值
var count: Int64 = 0
println(count) // ✅ 正确
七、最佳实践建议 🌟
- 优先使用
let:除非确定需要修改,否则用let - 有意义的命名:让代码像说话一样清晰
- 及时初始化:声明时就赋值,避免未初始化错误
- 注意作用域:变量在声明的代码块内有效
总结 🎯
let= 不可变,安全,首选 🔒var= 可变,灵活,按需使用 🔓- 类型可推断,也可显式指定
- 命名要规范,代码更易读
新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。
更多推荐


所有评论(0)