在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 《仓颉编程语言用户手册》 0.29.3

《仓颉编程语言用户手册》 0.29.3

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:3.79M
  • 下载次数:69
  • 浏览次数:1388
  • 发布时间:2023-01-16
  • 实例类别:一般编程问题
  • 发 布 人:老刘
  • 文件格式:.pdf
  • 所需积分:0
 相关标签:

实例介绍

【实例简介】《仓颉编程语言用户手册》 0.29.3

【实例截图】

【核心代码】

目录
简介
1.1 仓颉编程语言简介
1.2 手册结构
入门指南
2.1 安装与版本确认
2.1.1 环境需求确认
2.1.1.1 仓颉工具链的安装
2.1.2 卸载与更新
2.2 第一个仓颉程序(Hello, World!)
2.2.1 创建项目目录
2.2.2 第一个 Hello, World! 程序
基本程序结构
3.1 程序结构
3.2 变量
3.2.1 标识符
3.2.2 定义和使用变量
3.3 基本数据类型
3.3.1 整数类型
3.3.1.1 整数类型字面量
3.3.1.2 整数类型支持的操作
3.3.2 字符字节字面量
3.3.3 浮点类型
3.3.3.1 浮点类型字面量
3.3.3.2 浮点类型支持的操作
3.3.4 布尔类型
3.3.4.1 布尔类型字面量
3.3.4.2 布尔类型支持的操作
3.3.5 字符类型
3.3.5.1 字符类型字面量
3.3.5.2 字符类型支持的操作
3.3.6 字符串类型
3.3.6.1 字符串字面量
3.3.6.2 插值字符串
3.3.6.3 字符串类型支持的操作
3.3.7 字节数组字面量
3.3.8 Unit 类型
3.3.9 元组类型
3.3.9.1 元组类型的字面量
3.3.10 区间类型
3.3.10.1 区间类型字面量
3.3.11 Nothing 类型
3.4 函数
3.4.1 函数定义
3.4.1.1 参数列表
3.4.1.2 函数返回值类型
3.4.1.3 函数体
3.4.2 函数调用
3.5 控制流
3.5.1 if 表达式
3.5.1.1 使用 if 和 else
3.5.1.2 使用 else if
3.5.1.3 if 表达式的类型
3.5.1.3.1 拥有 else 分支的 if 表达式的类型
3.5.1.3.2 没有 else 分支的 if 表达式的类型
2
3.5.2 循环表达式
3.5.2.1 for in 表达式
3.5.2.1.1 遍历由元组组成的序列
3.5.2.2 while 表达式
3.5.2.3 do while 表达式
3.5.2.4 break 表达式
3.5.2.4.1 break 表达式的类型
3.5.2.5 continue 表达式
3.5.2.5.1 continue 表达式的类型
自定义类型
4.1 record 类型
4.1.1 定义 record 类型
4.1.1.1 record 成员变量
4.1.1.2 record 构造函数
4.1.1.3 record 成员函数
4.1.1.4 record 成员的可见修饰符
4.1.1.5 禁止递归 record
4.1.2 使用 record 构造函数创建 record 实例
4.1.3 record 中的 mut 函数
4.2 enum 类型
4.2.1 enum 的定义和使用
4.2.1.1 enum 值
4.2.2 enum 的模式匹配
4.2.3 Option 类型
4.3 class 类型
4.3.1 定义 class 类型
4.3.1.1 class 成员变量
4.3.1.2 class 构造函数
4.3.1.3 class 成员函数
4.3.1.4 class 成员的可见修饰符
4.3.2 创建对象
4.3.3 class 的继承
4.3.3.1 覆盖和重定义
4.4 接口
4.4.1 接口的定义
4.4.2 接口继承
4.4.3 接口实现
4.4.4 Any 类型
4.5 子类型关系
4.5.1 继承 class 带来的子类型关系
4.5.2 实现接口带来的子类型关系
4.5.3 元组类型的子类型关系
4.5.4 函数类型的子类型关系
4.5.5 永远成立的子类型关系
4.5.6 传递性带来的子类型关系
4.5.7 泛型类型的子类型关系
4.6 类型转换
4.6.1 数值类型之间的转换
4.6.2 Char 和 UInt32 之间的转换
4.6.3 is 和 as 操作符
4.7 类型别名
基础 Collection 类型
5.1 Array
5.1.1 访问 Array 成员
5.1.2 修改 Array
5.2 ArrayList
5.2.1 访问 ArrayList 成员
5.2.2 修改 ArrayList
3
5.2.3 增加 ArrayList 的大小
5.3 Iterable 和 Collections
5.4 HashSet
5.4.1 访问 HashSet 成员
5.4.2 修改 HashSet
5.5 HashMap
5.5.0.1 访问 HashMap 成员
5.5.0.2 修改 HashMap
错误处理
6.1 异常
6.1.1 定义异常
6.1.2 创建和抛出异常
6.1.3 异常处理
6.1.3.1 普通 try 表达式
6.1.3.2 Try-with-resources 表达式
6.1.3.3 CatchPattern 进阶介绍
6.1.4 常见运行时异常
6.2 Result 类型与错误处理
6.2.1 Result 类型简介
6.2.2 Result 类型用于错误处理
6.2.3 Result 值的解构
6.3 Option 类型用于错误处理
函数高级特性
7.1 函数是一等公民
7.1.1 函数类型
7.1.2 函数类型作为参数类型
7.1.3 函数类型作为返回类型
7.1.4 函数类型作为变量类型
7.2 嵌套函数
7.3 Lambda 表达式
7.3.1 Lambda表达式定义
7.3.2 Lambda表达式调用
7.4 闭包
7.5 函数调用语法糖
7.5.1 尾随闭包
7.5.2 Flow 表达式
7.5.2.1 Pipeline 表达式
7.5.2.2 Composition 表达式
7.6 函数重载
7.6.1 函数重载定义
7.6.2 函数重载决议
7.7 操作符重载
7.7.1 操作符重载函数定义和使用
7.7.2 可以被重载的操作符
7.8 Mut 函数
7.8.1 Mut函数定义
7.8.2 接口中的mut函数
7.8.3 Mut 函数的使用限制
模式匹配
8.1 match 表达式
8.1.1 match 表达式的类型
8.2 模式
8.2.1 常量模式
8.2.2 通配符模式
8.2.3 变量模式
8.2.4 Tuple 模式
8.2.5 类型模式
8.2.6 Enum 模式
4
8.2.7 模式的嵌套组合
8.3 模式的 Refutability
8.4 其他使用模式的地方
泛型
9.1 术语
9.2 泛型接口
9.3 泛型类型
9.3.1 泛型 class
9.3.2 泛型 record
9.3.3 泛型 enum
9.3.4 泛型类型的子类型关系
9.4 泛型的类型别名
9.5 泛型函数
9.5.1 全局泛型函数
9.5.2 泛型成员函数
9.5.3 静态泛型函数
9.6 泛型约束
属性
10.1 定义属性
10.1.1 修饰符
10.1.2 抽象属性
10.2 使用属性
扩展
11.1 扩展的定义
11.2 扩展的孤儿规则
11.3 扩展的访问和遮盖
11.4 扩展的导入导出
并发
12.1 创建一个仓颉线程 spawn
12.2 使用 Future<T> 等待线程结束并获取返回值
12.3 线程睡眠指定时长 sleep
12.4 同步机制
12.4.1 原子操作 Atomic
12.4.2 可重入互斥锁 ReentrantMutex
12.4.3 Monitor
12.4.4 MultiConditionMonitor
12.4.5 synchronized 关键字
元编程
13.1 Tokens 相关类型和 quote 表达式
13.1.1 Token 类型
13.1.2 Tokens 类型
13.1.3 quote 表达式
13.1.4 插值运算符
13.2 宏
13.2.1 macro package
13.2.2 非属性宏
13.2.3 属性宏
13.2.4 宏导入时的别名
13.2.5 嵌套宏
13.2.5.1 宏调用在宏定义内
13.2.5.2 宏调用在宏调用中
13.3 memoize 宏分析
13.4 宏的编译和调试
13.4.1 宏的编译和使用流程
13.4.2 宏的调试
自动微分
14.1 前言
14.2 可微类型
5
14.2.1 可微数值类型
14.2.2 可微元组类型
14.2.3 可微record类型
14.2.3.0.1 自定义record类型微分规则
14.2.4 可微unit类型
14.3 不可微类型
14.4 可微函数
14.4.1 自定义函数微分规则
14.4.2 非顶层可微函数
14.4.2.1 Record构造函数和成员函数
14.4.2.2 Class成员函数
14.5 微分API
14.5.1 grad 关键字
14.5.2 valWithGrad 关键字
14.5.3 adjointOf 关键字
14.5.4 stopGradient 函数接口
14.6 伴随函数的导入/导出
14.7 高阶微分
包管理
15.1 声明包的名字
15.2 顶层声明的可见性
15.2.1 顶层声明可见性为包内可见
15.2.2 顶层声明可见性为包外可见
15.3 包的导入
15.3.1 使用 import 语句导入其它包中的声明或定义
15.3.2 隐式导入core包
15.3.3 使用 import as 对导入的名字重命名
15.3.4 使用 public import 重导出一个导入的名字
15.4 程序入口
跨语言互操作
16.1 与 C 语言互操作
16.1.1 仓颉调用C的函数
16.1.2 类型映射
16.1.3 C调用仓颉的函数
16.2 与 Python 语言互操作
16.2.1 Python 的全局资源及使用
16.2.1.1 提供内建函数类以及全局资源:
16.2.1.2 提供 Python 库日志类 PythonLogger :
16.2.1.3 提供 Python 库异常类 PythonException :
16.2.1.4 提供 Python 库的版本信息类 Version :
16.2.2 PythonBuiltins 内建函数类
16.2.2.1 Python 库的导入和加载
16.2.2.2 动态库的加载策略
16.2.2.3 GetVersion() 函数
16.2.2.4 Import() 函数
16.2.2.5 Eval() 函数
16.2.2.6 index [] 运算符重载:
16.2.3 类型映射
16.2.3.1 类型映射表
16.2.3.2 Python FFI 库泛型约束的接口 PyFFIType
16.2.3.3 PyObj 类
16.2.3.4 CjObj 接口
16.2.3.5 PyBool 与 Bool 的映射
16.2.3.6 PyLong 与整型的映射
16.2.3.7 PyFloat 与浮点的映射
16.2.3.8 PyString 与字符、字符串的映射
16.2.3.9 PyTuple 类型
16.2.3.10 PyList 与 Array 的映射
6
16.2.3.11 PyDict 与 HashMap 的映射
16.2.3.12 PySet 与 HashSet 的映射
cjc 编译器手册
17.1 cjc 基本使用方法
17.2 cjc 编译选项
17.2.1 --output-type=[exe|staticlib|dylib]
17.2.2 --package , -p
17.2.3 --module-name <arg>
17.2.4 --output <arg> , -o <arg>
17.2.5 --library <arg> , -l <arg>
17.2.6 --library-path <arg> , -L <arg>
17.2.7 -O<N>
17.2.8 -O
17.2.9 -g
17.2.10 --coverage
17.2.11 --int-overflow=[throwing|wrapping|saturating]
17.2.12 --verbose , -V
17.2.13 --help , -h
17.2.14 --version , -v
17.2.15 --test
17.2.16 --save-temps=<arg>
17.2.17 --import-path <arg>
17.2.18 --error-count-limit=<arg>
17.2.19 --output-dir <arg>
17.2.20 --static-std
条件编译
18.1 顶层条件编译
18.1.1 使用方法
18.2 内置条件
18.2.1 os:
18.2.2 backend:
18.2.3 cjc_version:
18.2.4 debug:
18.3 自定义条件
18.3.1 -config
18.4 多条件
注解
19.1 确保正确使用整数运算溢出策略的注解
附录
20.1 关键字
20.2 操作符
20.3 操作符函数
20.4 TokenKind 类型

标签:

实例下载地址

《仓颉编程语言用户手册》 0.29.3

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警