个人总结cangjie仓颉程序设计-(一)

news/2024/11/2 18:25:00/

文章目录

    • 基本了解
      • 注释
      • 常用数据类型
    • 常用包
    • 基本写法
      • 变量定义&初始化
      • 数组定义&初始化
      • 默认数据类型
      • 字符串-数字转换
      • 字符-数字转换

本专栏还在持续更新: Cangjie仓颉程序设计-个人总结
这是双子专栏仓颉编程cangjie刷题录

基本了解

注释

注释使用方式同c++、Java

  • 单行: //
  • 多行:/* */

常用数据类型

  • Rune其他语言中的char,但是 “不是ASCII码而是Unicode,UTF-8”
  • String: String中的每个元素取出来都是整型该字符的Unicode
  • =“ 指两种类型相同,互为别名。
Rune    // 其他语言中的char,但是 “不是ASCII码,而是Unicode,UTF-8”
Int8 = Byte
Int32
Int64 = Int
UInt32
Uint64 = UInt
String  // 同理,String中的每个元素取出来都是整型!该字符的Unicode!
Bool
Float64

常用包

  • std.console.* :读输入数据
  • std.collection.* :容器
  • std.convert.* :格式化输出
  • std.random.* :类型转换
import std.core.*	// 默认导入,无需显式导入
import std.console.*
import std.collection.*
import std.convert.*
import std.random.*

基本写法

变量定义&初始化

如果不使用默认数据类型,则需要写明数据类型。

var a:UInt32 = 97		
var b:Rune = 'b'
var str:String = "520"
var str = "520"	// 也是可以的
var arr:Array<Int> = [1, 2, 3]
var flag = false

数组定义&初始化

注意:使用item初始化二维数组时,赋值的是引用。
所以二维数组初始化一定要用这种写法:var f = Array<Array> (n + 1) {i => [0, 0]}

// 一维
var arr = Array<Int>(4) {_ => 0}
var arr1 = Array<Int>(4, {_ => 0})
var arr2 = Array<Int>(4, item: 0)// 二维
var f = Array<Array<Int>> (n + 1, {i => [0, 0]})  // 这样就是每个数组单独赋值,这么写就对了
var f = Array<Array<Int>> (n + 1) {i => [0, 0]}	// 这样就是每个数组单独赋值,这么写就对了
var f = Array<Array<Int>> (n + 1, item: [0, 0]} // 这种方式修改一个元素全部都会修改,因为所有元素都是一个对象的引用

默认数据类型

  • 默认整型为: Int64
  • 默认浮点数为:Float64
  • 默认字符、字符串为:String
var one = 1   // Int64
var two = '2' // String
var three = 3.0 // Float64

字符串-数字转换

是std.convert.*中的函数。

import std.convert.*var str:String = "520"
var str_value:Int = Int64.parse(str)  // 520

字符-数字转换

字符Rune只能转为UInt32
整型数字都可以转为Rune
单个字节内,ASCII与Unicode等值

var a:UInt32 = 97		
var b:Rune = 'b'
var str:String = "520"b = Rune(a)		// 'a'
a = UInt32(b)	// '98'var unicode_value_of_5 = str[0]	// 53, String中的每个元素取出来都是整型!该字符的Unicode!
var c:Rune = Rune(str[0])  // '5'

http://www.ppmy.cn/news/1543936.html

相关文章

LocalDate 类常用方法详解(日期时间类)

LocalDate 类常用方法详解 LocalDate 是 Java 8 引入的日期时间API中的一个类&#xff0c;用于表示不含时间和时区的日期&#xff08;年、月、日&#xff09;。以下是一些常用的 LocalDate 方法&#xff1a; 创建 LocalDate 实例 now()&#xff1a;获取当前日期 LocalDate t…

MySQL企业常见架构与调优经验分享

在企业中,MySQL 数据库的合理架构设计和性能调优至关重要,以下是关于 MySQL 企业常见架构与调优经验的分享: 一、MySQL 企业常见架构 主从复制架构 架构特点:由一个主数据库(Master)和多个从数据库(Slave)组成。主数据库负责写入数据,从数据库复制主数据库的事务日志(…

功能强大视频编辑软件 Movavi Video Editor Plus 2024 v24.2.0 中文特别版

Movavi Video Editor Plus中文修改版是一款功能强大的视频制作编辑软件&#xff0c;使用能够帮助用户快速从录制的素材中制作成一个精美的电影&#xff0c;支持进行视频剪辑&#xff0c;支持添加背影、音乐和各种音乐&#xff0c;软件使用简单&#xff0c;无需任何的经验和专业…

QT中TextEdit或者QLineEdit以十六进制显示数组数据

QT中TextEdit以十六进制显示数组数据 在Qt(一种跨平台的C++图形用户界面应用程序开发框架)中,如果你想在QTextEdit中以十六进制格式显示数组数据,你可以使用以下步骤: 创建一个 QTextEdit 控件 在你的Qt应用程序中创建一个 QTextEdit 控件,用于显示文本。QTextEdit *tex…

Scikit-LLM:大模型加持的scikit-learn

作为 Python 和 ML 的初学者&#xff0c;我经常依赖 scikit-learn 来完成几乎所有的项目。它的简单性和多功能性使实现各种算法成为一种令人着迷的体验。 现在&#xff0c;令人兴奋的是&#xff0c;scikit-learn 通过Scikit-LLM引入了 LLM 功能&#xff0c;从而进一步发展。这…

vue2开发 对接后端(go语言)常抛异常情况以及处理方法汇总

背景 在Vue2开发中&#xff0c;与后端&#xff08;Go语言&#xff09;接口对接时出现异常通常是由于前后端之间的数据交互出现了问题。常见的异常包括数据格式不匹配、请求方法不匹配、请求头部信息错误、跨域请求问题等。 常见异常 如出现报错提示&#xff1a; json : can…

filebeat+elasticsearch+kibana日志分析

1 默认配置 1.1 filebeat filebeat-7.17.yml,从网关中下载k8s的配置&#xff0c;指定es和kibana的配置 通过kibana查询可以查询到日志了&#xff0c;但此时还不知道具体怎么用。 1.2 kibana 在Discover中创建索引格式&#xff1a;filebeat-*&#xff0c;得到如下图&#xf…

DB-GPT系列(二):DB-GPT部署(镜像一键部署、源码部署)

一、简介 DB-GPT 是一个开源项目&#xff0c;其将大语言模型 LLM 与数据库紧密结合。该项目主要致力于探索如何让预训练的大规模语言模型&#xff08;例如 GPT&#xff09;能够直接与数据库进行交互&#xff0c;从而生成更为准确且信息丰富的回答。 DB-GPT部署后能否直接使用…