2023年终总结 —— 我和CSDN相遇的第一年之“技术学习和个人成长的回顾与展望”

news2025/4/22 9:47:29

🌈个人主页: Aileen_0v0
🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法
💫个人格言:
"没有罗马,那就自己创造罗马~"


目录

🎊对2023的总结与回顾🎊

🏅获奖记录

📚学习记录 

🫶感恩相遇

TypeScrip极速入门

编程语言介绍

 页面功能

TypeScript的基础语法学习 

布尔 类型 和 数字 类型

 字符串 类型 和 数组 类型

枚举 类型

 未知 类型 和 无返回值 类型

联合 类型 


🎊对2023的总结与回顾

🏅获奖记录

📚学习记录 

​ 

🫶感恩相遇

今年是我与CSDN相遇的第一年,

        首先我要感谢自己,感谢自己的热爱和坚持。自从9月份开始,我每周都坚持更新博客,用心写好每一篇文章。在编程和技术学习方面,我从来没有放松过,一直保持着学习的态度和学徒之心。除了学习学校的知识,我还自主学习了鸿蒙系统(HarmonyOS 4.0),这个过程让我更加清楚地知道自己喜欢什么,并对未来的职业规划有了更加清晰的认识。

        其次,我想感谢所有给予我支持和鼓励的粉丝和大佬们,特别感谢以下几位大佬(hacker707,东离与糖宝,哈哥撩编程,以山河作礼。)他们愿意与我这个计算机小白分享他们的学习和工作经验,他们是我学习的榜样。

        此外,我还要特别感谢CSDN给予我展示和分享的机会。2023年,我从CSDN获得了我的第一个奖项,这份惊喜让我更加自信地参与更多的比赛。以前我一直认为这些东西与我遥不可及,但现在我发现,所有的不自信都源于对失败的恐惧。遇到CSDN之后,我变得更加自信和从容,不再害怕困难和失败。在CSDN这个学习和成长的平台上,我结识了越来越多志同道合的小伙伴,我们一起学习,共同进步。

        2024年,我会继续努力学习好我的专业技能,脚踏实地的一步一个脚印,与CSDN一起前行,共同进步,为自己的技术之路加油!也希望伟大的祖国🇨🇳越来越强大,我们一起乘风破浪,与这个时代高歌前行~

“长风破浪会有时,直挂云帆济沧海⛵~”

​ 

TypeScrip极速入门

在HarmonyOS中,主力编程语言为ArcTS,它是基于TypeScript的一种语言,其通过与ArcUI框架的匹配,拓展了生命式UI和状态管理等能力,使开发者能够以更简洁自然的方式开发跨端应用。TypeScript本身是JavaScript的超集,通过引入静态类型定义等特性,提高了代码的可维护性和可读性,有助于在编码阶段检测潜在错误,提高开发效率另外,学习TypeScript还为处理HarmonyOS应用中的UI和应用状态提供了更强大的支持,在并发任务方面也有相应的扩展。为了更好地对HarmonyOS进行开发需要掌握TypeScript语言,本篇博客我们重点介绍TypeScript语言。

编程语言介绍

ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。要了解什么是ArkTS,我们首先要了解下ArkTS、TypeScript和JavaScript之间的关系:

TypeScript 先编译成 JavaScript然后再运行JavaScript,TypeScript在JavaScript基础上加了类型批注,推断和检查的功能.

  1. JavaScript是一种属于网络的高级脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。
  2. TypeScript 是 JavaScript 的一个超集,它扩展了 JavaScript 的语法,通过在JavaScript的基础上添加静态类型定义构建而成,是一个开源的编程语言。
  3. ArkTS兼容TypeScript语言,拓展了声明式UI、状态管理、并发任务等能力。

在学习ArkTS声明式的相关语法之前,我们首先学习下TypeScript的基础语法。


 页面功能


打开在线运行,左边的是控制台输入的代码,右边的是运行结果.


TypeScript的基础语法学习 

布尔 类型 和 数字 类型

// 定义 boolean 类型 变量
let isOf = true
let isOn = false

console.log(isOf)
console.log(isOn)


// 定义数字类型的变量

let a : number = 12
let b : number = 3.14
let c : number = 0b110
console.log(a)
console.log(b)
console.log(c)

运行结果:

根据运行结果我们可以发现,即使输入的是二进制,输出的也是十进制的数字 


 字符串 类型 和 数组 类型

// 定义字符串 类型的变量
let aStr : string = "hello"

//定义数组类型,
// 第一种
let arr1 : number[] = [ 1,2,3,4,6,10]
console.log(arr1)
// 数组[下标] : 获取数组中的某个值
console.log(arr1[4])

运行结果:

​ 

Ctrl C + 回车 + Ctrl V 可以输出与商行相同的内容。

// 第二种
let arr2 : Array<string> = ['a','b','d']
console.log(arr2)

//  把hello添加到数组的后面
arr2.push("hello")
console.log(arr2)
//  删除数组最后的元素
arr2.pop()
console.log(arr2)


arr2.splice(2,0,"hello")
console.log(arr2)

arr2.splice(1, 1)
console.log(arr2)

 运行结果:

TypeScript中,可以使用数组的splice方法来实现删除和插入操作。

splice方法接受三个参数,分别是操作的起始索引删除的元素个数要插入的元素

删除元素,可以将起始索引指定删除的元素的位置删除的元素个数设为非零

例如,将一个数组arr中索引为i的元素删除,可以使用以下代码:

arr.splice(i, 1);

插入元素,可以将删除的元素个数设为0起始索引指定要插入的位置,然后在该位置插入要插入的元素。

例如,将一个元素插入到数组arr的索引为i的位置,可以使用以下代码:

arr.splice(i, 0, element);

需要注意的是,splice方法会直接修改原数组,并返回被删除的元素组成的新数组(如果有删除的元素)。


元组:有确定的元素数量和类型

// 定义一个元组
let t1: [string,number];
t1 = ["hello",100]
console.log(t1,t1[0])

运行结果:


枚举 类型

enum类型JavaScript 标准数据类型的一个补充,使用枚举类型可以为一组数值赋予友好的名字。——固定好的常量,不会随意改动

例如:我们这里定义SexValue为MAIL和FEMAIL,到时候可以使用SexValue.MAIL 

// 定义枚举
enum SexValue{
    MAIL = '男',
    FEMAIL = '女'
}

let gender :SexValue = SexValue.MAIL
console.log(gender)

运行结果: 


 未知 类型 和 无返回值 类型

// 定义 未知类型
let noSure : unknown;

noSure = 4
noSure = 'hello world'

// void : 函数没有返回值

function myFunc(): void{
    console.log('执行函数,没有返回值')
}
myFunc()

// Null , undefined 类型
let n = null
let un = undefined

运行结果:


联合 类型 

可以传入数字或字符串类型的值进行调用。

// 联合类型
let myF : string | number = "hello 2024!"
console.log(myF)

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1346165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

test mock-03-wiremock 模拟 HTTP 服务的开源工具 flexible and open source API mocking

拓展阅读 test 之 jmockit-01-overview jmockit-01-test 之 jmockit 入门使用案例 mockito-01-overview mockito 简介及入门使用 PowerMock Mock Server ChaosBlade-01-测试混沌工程平台整体介绍 jvm-sandbox 入门简介 wiremock WireMock是一个流行的开源工具&#xf…

蚂蚁实习一面面经

蚂蚁实习一面面经 希望可以帮助到大家 tcp建立连接为什么要三次握手&#xff1f; 三次握手的过程 注意&#xff1a;三次握手的最主要目的是保证连接是双工的&#xff0c;可靠更多的是通过重传机制来保证的 所谓三次握手&#xff0c;即建立TCP连接&#xff0c;需要客户端和…

Centos7部署Keepalived+lvs服务

IP规划&#xff1a; 服务器IP地址主服务器20.0.0.22/24从服务器20.0.0.24/24Web-120.0.0.26/24Web-220.0.0.27/24 一、主服务器安装部署keepalivedlvs服务 1、调整/proc响应参数 关闭Linux内核的重定向参数&#xff0c;因为LVS负载服务器和两个页面服务器需要共用一个VIP地…

力扣刷题记录(23)LeetCode:718、1143、1035

718. 最长重复子数组 要想到用一个二维数组dp去表示数组nums1和nums2的公共子数组的最大长度。其中二维数组的索引 i、j 分别表示nums1中[0,i-1]数组、nums2中[0,j-1]数组。如果满足nums1[i-1]nums2[j-1],那么dp[i][j]dp[i-1][j-1]1 class Solution { public:int findLength(v…

科技创新实验室数据管理优选:高效企业网盘推荐

科技创新实验室建设是国家加强科技创新基本能力建设的重要措施&#xff0c;企业网盘等高效办公工具的应用是保证科技创新实验室正常运行、提高科研项目团队合作效率的重要手段。 本文将介绍企业网盘Zoho WorkDrive提供的解决方案&#xff1a; 行业痛点1&#xff1a;分散的数据…

CentOS虚拟机硬盘管理

CentOS虚拟机硬盘管理 一、创建虚拟机时分配硬盘 创建虚拟机时&#xff0c;在下图这个页面需要重新选择一下硬盘&#xff0c;可以对硬盘进行配置。 默认自动分区 ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e9ce72af3d934e75be95f7f86860e92b.png 选择确认分…

GitHub的2FA验证问题解决工具

文章目录 前言认识2FA开源工具使用&#xff1a;AuthenticatorPro获取AuthenticatorPro的安卓APK如何使用 参考文章 前言 打开GitHub跳出来这个提示&#xff0c;需要进行验证&#xff1a; 如何解决呢&#xff1f;方案有很多&#xff0c;我们可以使用开源的一个工具&#xff1a;…

微软开源,全平台通用:Shell 自动补全工具 | 开源日报 No.132

microsoft/inshellisense Stars: 7.6k License: MIT inshellisense 是一个为 Shell 提供 IDE 风格自动补全的工具。它是一个终端本地运行时自动完成&#xff0c;支持 600 多个命令行工具&#xff0c;并且可以在 Windows、Linux 和 macOS 上使用。主要功能包括安装后可通过运行…

QT 输入框输入限制 正则表达式限制 整理

在使用 输入数值时&#xff0c;经常遇到限制其范围的需要&#xff0c;比如角太阳高度角范围为[-90,90]&#xff0c;经度值范围[-180,180]&#xff0c;方位角范围[0,360]。Qt提供了QIntValidator和QDoubleValidator可以限定数值输入范围&#xff0c;如使用QIntValidator限制整数…

Python武器库开发-武器库篇之Git的分支使用(三十九)

武器库篇之Git的分支使用(三十九) Git分支是一种用于在项目中并行开发和管理代码的功能。分支允许开发人员在不干扰主要代码的情况下创建新的代码版本&#xff0c;以便尝试新功能、修复错误或独立开发功能。一般正常情况下&#xff0c;开发人员开发一个软件&#xff0c;会有两…

C#语言发展历程(1-7)

一、类型发展 C#1中是没有泛型的 在C#2中在逐渐推出泛型。C#2还引入了可空类型。 示例&#xff1a;C#泛型&#xff08;详解&#xff09;-CSDN博客 1 C#3&#xff1a;引入了匿名类型、和隐式的局部变量&#xff08;var&#xff09; 匿名类型&#xff1a;我们主要是使用在LIN…

蓝桥杯C/C++程序设计——日期统计

问题描述 小蓝现在有一个长度为 100100 的数组&#xff0c;数组中的每个元素的值都在 00 到 99 的范围之内。数组中的元素从左至右如下所示&#xff1a; 现在他想要从这个数组中寻找一些满足以下条件的子序列&#xff1a; 子序列的长度为 88&#xff1b;这个子序列可以按照下…

【数据结构】栈和队列(栈的基本操作和基础知识)

&#x1f308;个人主页&#xff1a;秦jh__https://blog.csdn.net/qinjh_?spm1010.2135.3001.5343&#x1f525; 系列专栏&#xff1a;《数据结构》https://blog.csdn.net/qinjh_/category_12536791.html?spm1001.2014.3001.5482 目录 前言 栈 栈的概念和结构 栈的实现 ​…

Python+OpenGL绘制3D模型(九)完善插件功能: 矩阵,材质,法线

系列文章 一、逆向工程 Sketchup 逆向工程&#xff08;一&#xff09;破解.skp文件数据结构 Sketchup 逆向工程&#xff08;二&#xff09;分析三维模型数据结构 Sketchup 逆向工程&#xff08;三&#xff09;软件逆向工程从何处入手 Sketchup 逆向工程&#xff08;四&#xf…

结构体:搜索链表

#include<iostream> #include<iomanip> using namespace std; struct Student //创建结构体Student {int number; //学号char name[20]; //姓名float Chinese, Math, English; //成绩语数英Student* next; //下一个节点 }; Student* CreateList() //创建链表 {Stud…

Pytorch的讲解及实战·MNIST数据集手写数字识别

目录 一、前言与pytorch的下载 1、前言 2、下载pytorch ①创建虚拟环境 ②下载pytorch&#xff08;cpu版&#xff09; ③测试pytorch是否下载成功 ④使用jupyter notebook 但是使用不了torch的解决方法 二、pytorch的使用 1、Tensor的数据类型 ①torch.FloatTensor …

【网络安全 | Misc】a_good_idea

正文 使用winhex看到有zip压缩包&#xff1a; 改后缀&#xff1a; 得到两张图&#xff0c;txt中写道&#xff1a;寻找像素的秘密 使用stegsolve将合并两张图并进行像素相减&#xff1a; 再将该图进行转换色道&#xff1a; 扫描二维码得到flag&#xff1a;

计算机网络【HTTP 灵魂拷问?】

1. HTTP 报文结构是怎样的&#xff1f; 对于 TCP 而言&#xff0c;在传输的时候分为两个部分:TCP头和数据部分。 而 HTTP 类似&#xff0c;也是header body的结构&#xff0c;具体而言: 起始行 头部 空行 实体由于 http 请求报文和响应报文是有一定区别&#xff0c;因此…

【基础】【Python网络爬虫】【4.requests入门】(附大量案例代码)(建议收藏)

Python网络爬虫基础 requests 入门1. 请求方法&#xff08;Method&#xff09;2. GET与POST方法3. 简单爬虫4. url地址构成url的概念url的组成部分案例 - 添加请求头发送 5. 查看请求体6.查看响应体案例 - 某厨房首页数据爬取&#xff08;UA检测&#xff09; 7. 设置响应体编码…

uni-app uni-app内置组件

锋哥原创的uni-app视频教程&#xff1a; 2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版)&#xff0c;火爆更新中...共计23条视频&#xff0c;包括&#xff1a;第1讲 uni…