「Mac玩转仓颉内测版3」入门篇3 - Cangjie的基本语法与结构

server/2024/11/14 13:12:59/

本篇将深入探讨Cangjie语言的基本语法与结构。这些基础知识为编写高效、可维护的代码奠定了坚实基础。通过理解语句结构、表达式、注释及数据类型,能够更自信地使用Cangjie进行编程。

关键词
  • Cangjie基本语法
  • 语句结构
  • 表达式
  • 注释
  • 数据类型
  • 控制结构

一、基本语法
1.1 语句结构

Cangjie的语句结构是代码的基本形式,包括赋值语句、条件语句和循环语句。

  • 赋值语句:用于将值赋给变量。

    cangjie">let x: Int64 = 10
    println(x)  // 输出变量x的值
    

    输出

    10
    
  • 条件语句:用于控制程序的执行流。

    cangjie">if (x > 0) {println("x是正数")  // 如果x大于0,则输出相应信息
    }
    

    输出

    x是正数
    
  • 循环语句:用于重复执行特定代码块。

    cangjie">for (i in 1..=5) {println(i)  // 输出1到5的所有数字
    }
    

    输出

    1
    2
    3
    4
    5
    
1.2 表达式

Cangjie支持多种表达式,包括算术运算和逻辑运算。

  • 算术运算:如加法、减法等。

    cangjie">let a: Int64 = 1
    let b: Int64 = 2
    let sum: Int64 = a + b
    println(sum)  // 输出a和b的和
    

    输出

    3
    
  • 逻辑运算:如与、或等。

    cangjie">if (a > 0 && b < 10) {println("a > 0 并且 b < 10")  // 同时满足a大于0和b小于10的条件
    }
    

    输出

    a > 0 并且 b < 10
    

二、变量命名与标识符概述

在Cangjie编程语言中,开发者可以为程序元素命名,这些名称被称为“标识符”。标识符分为普通标识符和原始标识符,遵循不同的命名规则。普通标识符不能与Cangjie关键字相同,并由特定字符序列构成。原始标识符则允许在普通标识符或关键字外加反引号,以便将关键字作为标识符使用。


三、注释

注释用于提高代码的可读性和维护性。在Cangjie中,注释分为两种类型:

3.1 单行注释
  • 使用 // 进行单行注释,可用于解释代码或暂时屏蔽代码行。

    cangjie">// 输出欢迎信息
    println("Welcome to Cangjie!")
    

    输出

    Welcome to Cangjie!
    
3.2 多行注释
  • 使用 / / 包裹多行注释,适合于较长的说明或屏蔽多行代码。

    cangjie">/** 计算阶乘的函数* 参数:n - 要计算的整数* 返回:n的阶乘*/
    func factorial(n: Int): Int {// 函数体
    }
    

四、数据类型

Cangjie支持多种数据类型,包括:

4.1 整数类型
  • Int64:用于表示64位整数。

    cangjie">let age: Int64 = 25  // 年龄变量
    println(age)
    

    输出

    25
    
4.2 浮点数类型
  • Float64:用于表示双精度浮点数。

    cangjie">let height: Float64 = 1.75  // 身高变量
    println(height)
    

    输出

    1.750000
    
4.3 字符串类型
  • String:用于表示文本数据。

    cangjie">let name: String = "Cangjie"  // 姓名变量
    println(name)
    

    输出

    Cangjie
    
4.4 布尔类型
  • Bool:表示真(true)或假(false)的值。

    cangjie">let isAdult: Bool = true  // 是否成年人
    println(isAdult)
    

    输出

    true
    

五、控制结构

控制结构用于控制程序的执行流程,包括条件判断和循环结构。

5.1 条件判断

使用 ifelse ifelse 进行条件判断。

cangjie">let age: Int64 = 25
if (age > 18) {println("大于18岁")  // 如果年龄大于18,输出信息
} 
else if (age < 18 && age > 0) {println("小于18岁")  // 如果年龄在0到18之间,输出信息
} 
else {println("输入负数,错误")  // 如果输入负数,输出错误信息
}

输出

大于18岁
5.2 循环结构

for循环while循环用于重复执行代码块。

cangjie">for (_ in 1..=3) {println('*')  // 输出3个星号
}var i: Int64 = 0
let data: Int64 = 3
while (i < data) {println('#')  // 输出3个井号i += 1
}

输出

*
*
*
#
#
#

小结

本篇全面介绍了Cangjie语言的基本语法与结构,包括语句结构、表达式、注释、数据类型及控制结构。掌握这些基础知识将为后续的编程学习打下坚实基础,为创建高效、可维护的代码奠定基础。


下篇预告

下一篇将详细介绍Cangjie中的变量命名规则,包括普通标识符和原始标识符的命名规范,以帮助更好地使用标识符,敬请期待!


上一篇:「Mac玩转仓颉内测版2」入门篇2 - 编写第一个Cangjie程序
下一篇:「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则

作者:SoraLuna
链接:https://www.nutpi.net/thread?topicId=85
來源:坚果派
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



http://www.ppmy.cn/server/141596.html

相关文章

设计模式-七个基本原则之一-单一职责原则 + SpringBoot案例

单一职责原理:(SRP) 面向对象七个基本原则之一 清晰的职责&#xff1a;每个类应该有一个明确的职责&#xff0c;避免将多个责任混合在一起。降低耦合&#xff1a;通过将不同的职责分开&#xff0c;可以降低类之间的耦合度&#xff0c;提高系统的灵活性。易于维护&#xff1a;当…

Node.js笔记

问&#xff1a;npm install时&#xff0c;报错误&#xff1a;Failed to remove some directories。怎么办&#xff1f; 答&#xff1a;我在使用npm安装electron时总是报上面的错误&#xff0c;具体如下&#xff0c;我问遍了KIMI和通义&#xff0c;回答的方法都解决不了。还搜索…

组件间通信(组件间传递数据)

组件间通信(组件间传递数据) 在 Vue.js 中&#xff0c;组件间通信是开发者需要经常处理的任务&#xff0c;特别是在构建具有多层次组件的复杂应用时。根据组件之间的关系和数据流的复杂程度&#xff0c;可以采用不同的通信方式。以下是常用的几种组件间通信方式&#xff1a; …

在uniapp中封装请求接口 (带刷新token)

import { apiUrl } from /config/global-config.js import { useUserStore } from ../stores import { usePageRoute } from "/composable/usePageRoute.js"// 默认配置 const DEFAULT_CONFIG {timeout: 60000,// showLoading: true,// loadingText: 加载中... }// …

Kubernetes的基本构建块和最小可调度单元pod-0

文章目录 一&#xff0c;什么是pod1.1pod在k8s中使用方法&#xff08;1&#xff09;使用方法一&#xff08;2&#xff09;使用方法二 1.2pod中容器的进程1.3pod的网络隔离管理&#xff08;1&#xff09;pause容器的作用 1.4 Pod分类&#xff1a;&#xff08;1&#xff09;自主式…

C语言第九周课——经典算法

目录 一、冒泡法排序 1.1原理 1.2代码实现&#xff08;以升序排序为例&#xff09; 1.3逻辑 1.4分析 二、二分法查找 2.1原理 2.2代码实现 2.3逻辑 2.4算法效率分析 三、素数判断 3.1原理 3.2代码实现 3.3逻辑 3.4分析 一、冒泡法排序 1.1原理 冒泡排序&…

数据仓库还是数据集市?这俩怎么选?

数据仓库和数据集市作为支持决策分析的两种不同方式&#xff0c;根据各自的特点和优势&#xff0c;有不同的应用场景&#xff0c;今天就来探讨下数据集市和数据仓库该怎么选&#xff1f; 一、数据集市和数据仓库对比 1、数据集市与数据仓库的关系&#xff1a; 1&#xff09;数…

linux进程管理

进程和线程的关系 以下介绍为linux环境 进程是操作系统中一个运行中的程序&#xff0c;是资源分配和调度的基本单位。每个进程有自己独立的内存空间、文件描述符、堆栈等系统资源 线程&#xff08;Thread&#xff09; 是 CPU 调度的最小单位&#xff0c;是进程中的一个执行流…