由bext安装“异常”引出的话题:windows上转义字符的工作原理

由bext安装“异常”引出的话题:Windows上转义字符的工作原理,与ai“闲扯”不经意学习知识点。


(笔记模板由python脚本于2024年07月25日 19:21:13创建,本篇笔记适合喜欢用ai学习的coder翻阅)


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


由bext安装“异常”引出的话题
Windows的转义字符
(与ai“闲扯”不经意学习知识点)


本文质量分:

96 96 96

本文地址: https://blog.csdn.net/m0_57158496/article/details/140651356

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ Windows上转义字符的工作原理
    • 1、bext模块
    • 2、我的关于\033[xxm的笔记
    • 3、ansi转义字符“\033[2J”清屏
    • 4、colorama助力windows使用转义字符
      • 1. 初始化阶段
      • 2. 转义序列的处理
      • 3. 输出处理
      • 4. 恢复原始状态
    • 5、python对*.dll中函数的调用
    • 6、windows对编程语言不太“亲近”
      • 6.1 系统架构和设计哲学
      • 6.2 开发工具和库
      • 6.3 系统集成和兼容性
      • 6.4 社区支持
    • ...... A I AI AI让学习如虎添翼......


◆ Windows上转义字符的工作原理


1、bext模块


  • bext
    在这里插入图片描述

简单模拟bext

import os
import sys# 简单的颜色代码映射
COLORS = {'black': '30','red': '31','green': '32','yellow': '33','blue': '34','magenta': '35','cyan': '36','white': '37',
}def clear_screen():"""清除屏幕"""if os.name == 'nt':  # 如果是Windows系统os.system('cls')else:  # 如果是Linux或Mac系统os.system('clear')def set_color(color):"""设置文本颜色"""if color in COLORS:print(f"\033[{COLORS[color]}m", end="")def reset_color():"""重置文本颜色"""print("\033[0m", end="")# 使用示例
clear_screen()
set_color('red')
print("这是一段红色的文字。")
reset_color()set_color('green')
print("这是一段绿色的文字。")
reset_color()

  这个代码段定义了几个函数来模拟 bext 的基本功能。clear_screen 函数用于清除终端屏幕,set_color 函数用于设置文本颜色,reset_color 函数用于重置文本颜色到默认状态。

请注意,这段代码可能不适用于所有终端,因为它依赖于ANSI转义序列,有些终端可能不支持这些序列。如果你的终端不支持这些颜色设置,你可能需要查找其他方法来实现相同的功能。



回页目录


2、我的关于\033[xxm的笔记


  • 我关于用\033[转义字符控制颜色的学习笔记
  1. 我的 Python.color() (Python 色彩打印控制)
    地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    浏览阅读:5.5k
    点赞:2 收藏:8 
    (本篇笔记于2022-02-28 22:46:21首次发布,最后修改于2022-03-03 10:30:03)

  2. 神奇的 \\033 ,让打印出彩
    地址:https://blog.csdn.net/m0_57158496/article/details/122953893
    浏览阅读:4.1k
    点赞:3 收藏:13 
    (本篇笔记于2022-02-15 23:01:54首次发布,最后修改于2022-02-20 13:24:21)

  3. 彩色文字界面尼姆游戏(Python类 + mypycolor 工具协作打造)
    地址:https://blog.csdn.net/m0_57158496/article/details/126559166
    浏览阅读:2.0k
    点赞:9 收藏:9 评论:15
    (本篇笔记于2022-08-27 16:33:27首次发布,最后修改于2022-10-02 06:56:05)

  4. 随机颜色彩色提示字符串展示
    地址:https://blog.csdn.net/m0_57158496/article/details/127270228
    浏览阅读:1.0k
    点赞:1 收藏:1 评论:1
    (本篇笔记于2022-10-11 20:00:05首次发布,最后修改于2022-10-11 20:09:15)

  5. 彩色文本日历牌——巧用“秒时间”(时间截时间float才是日期数据传递的最“美”格式)
    地址:https://blog.csdn.net/m0_57158496/article/details/140164421
    浏览阅读:745
    点赞:8 收藏:9 
    (本篇笔记于2024-07-03 23:06:50首次发布,最后修改于2024-07-04 11:50:09)

  6. 文本模式打印彩色直方统计图
    地址:https://blog.csdn.net/m0_57158496/article/details/127045609
    浏览阅读:660
    点赞:9 收藏:6 评论:14
    (本篇笔记于2022-09-26 00:22:46首次发布,最后修改于2022-10-02 06:53:25)

  7. 彩色文本进度条
    地址:https://blog.csdn.net/m0_57158496/article/details/133280609
    浏览阅读:326
    收藏:1 
    (本篇笔记于2023-09-25 22:32:26首次发布,最后修改于2023-09-26 21:42:35)


回页目录


3、ansi转义字符“\033[2J”清屏


  • 清屏转义字符串
    在这里插入图片描述

  • windows中,如何设置对“\033[2J”清屏的支持?

      在Windows系统中,默认的命令提示符(cmd.exe)和PowerShell可能不完全支持ANSI转义序列,这导致像\033[2J这样的清屏命令可能不会按预期工作。但是,从Windows 10的版本1607开始,微软为命令提示符增加了对ANSI转义序列的支持。

要启用ANSI转义序列支持,您需要做以下几步

1、对于Windows 10版本1607及更高版本

  • 打开注册表编辑器:
    按下Win + R键,输入regedit,然后按Enter
  • 导航到以下注册表项:
    HKEY_CURRENT_USER\Console
    
  • 添加新的DWORD(32位)值:
    • 在右侧空白处右键点击,选择新建 -> DWORD(32位)值
    • 命名为VirtualTerminalLevel
      修改值:
    • 双击新创建的VirtualTerminalLevel值。
    • 将数值数据设置为1
    • 点击确定
      重启命令提示符:
    • 关闭并重新打开命令提示符窗口。
      现在,您的命令提示符应该能够处理ANSI转义序列,包括\033[2J清屏命令。

2、对于PowerShell

   P o w e r S h e l l PowerShell PowerShell在Windows 10的某些版本中默认支持ANSI转义序列,但是您可以通过以下命令来显式启用它:


$Host.UI.RawUI.BackgroundColor = 'Black'
$Host.UI.RawUI.ForegroundColor = 'White'
$Host.UI.RawUI.FlushInputBuffer()
$Host.UI.RawUI.SetBufferContents($Host.UI.RawUI.GetBufferContents())

然后,您可以在PowerShell中使用ANSI转义序列。


注意事项

  • 对于Windows 10之前的版本,您可能需要使用第三方库如colorama来支持ANSI转义序列。
  • 在某些情况下,即使开启了支持,某些ANSI转义序列可能仍然无法工作。这时,您可能需要使用Windows API调用或其他方法来实现清屏等功能。



回页目录


4、colorama助力windows使用转义字符


  如果您希望使用更简单的方法,并且不介意安装第三方库,colorama库可以自动转换ANSI转义序列,使其在Windows上工作:


from colorama import init
init()
print("\033[2J\033[H")  # 现在应该可以在Windows的命令提示符中清屏

要安装colorama,您可以使用pip:


pip install colorama

  • 我问
    在这里插入图片描述
  • ai
    当然可以。colorama库在Windows上工作的原理涉及到几个关键步骤。

以下是其工作原理的简要概述

1. 初始化阶段

当你调用colorama.init()时,colorama会执行以下操作:

  • 重定向标准输出colorama通过创建一个包装器来重定向标准输出(sys.stdout)和标准错误输出(sys.stderr),这样它就可以捕获所有写入这些流的数据。
  • 设置Windows控制台模式colorama会尝试设置Windows控制台的模式,使其能够处理ANSI转义序列。这涉及到使用Windows API来启用虚拟终端处理(VT处理),类似于前面提到的在注册表中设置VirtualTerminalLevel

2. 转义序列的处理

  • 解析ANSI转义序列:当程序尝试写入包含ANSI转义序列的文本时,colorama的包装器会拦截这些数据。它会解析这些序列,并理解它们的意义(比如设置文本颜色、移动光标等)。
  • 转换为Windows API调用:对于不支持ANSI转义序列的Windows版本,colorama会将解析后的ANSI序列转换为相应的Windows API调用。例如,设置文本颜色的ANSI转义序列会被转换为设置控制台前景色或背景色的API调用。

3. 输出处理

  • 清理转义序列:在将数据发送到标准输出之前,colorama会从数据中移除ANSI转义序列,因为Windows控制台不需要这些序列来设置样式。
  • 设置控制台属性:通过Windows API,colorama会根据解析的ANSI序列来设置控制台属性,比如颜色、光标位置等。

4. 恢复原始状态

  • 清理并恢复:当程序结束时,colorama会清理并恢复控制台的原始状态,确保控制台的行为与程序运行前一致。
    以下是colorama库处理ANSI转义序列的简化流程:
import sys
import os
# 假设这是colorama.init()的一部分
class ANSIToWin32:def __init__(self):self.win32 = None  # 假设这是Windows API接口def write(self, text):# 解析ANSI转义序列,并转换为Windows API调用# 例如,\033[31m -> SetConsoleTextAttribute(RED)self.win32.set_console_color('RED')  # 示例代码,非实际API# 移除ANSI转义序列clean_text = self.strip_ansi_codes(text)# 写入清理后的文本sys.__stdout__.write(clean_text)def strip_ansi_codes(self, text):# 实现去除ANSI转义序列的逻辑return ''.join(filter(lambda x: x not in self.ansi_codes, text))@propertydef ansi_codes(self):# ANSI转义序列的集合return set('\033[')
# 重定向sys.stdout
sys.stdout = ANSIToWin32()

  这个示例非常简化,实际的colorama库要复杂得多,它处理了各种ANSI转义序列,并提供了更健壮的错误处理和兼容性。colorama的源码是开源的,所以你可以直接查看它的实现细节来了解它是如何工作的。



回页目录


5、python对*.dll中函数的调用


  • 我问
    在这里插入图片描述
  • ai
    是的,您提到的 .dll 文件是 Windows 上的动态链接库文件,它们包含了可以被其他程序或脚本调用的代码和数据。在 colorama 的上下文中,这些 .dll 文件并不是脚本,而是用来执行底层系统调用的程序组件。

    colorama 库在 Windows 上工作时,通常会使用以下几个 .dll 文件:
    • kernel32.dll:这是 Windows 的核心系统库之一,提供了处理内存、输入输出操作和其他核心功能的函数。
    • user32.dll:这个库包含了用于创建和管理窗口的用户界面函数。
    • advapi32.dll:用于进行高级Windows API操作的库,比如注册表操作和权限管理。

colorama 通过以下方式使用这些 .dll 文件

  1. ctypes 库colorama 使用 Python 的 ctypes 库来加载 .dll 文件并调用它们导出的函数。ctypes 是 Python 的一个标准库,它提供了和 C 兼容的数据类型,并允许调用 DLLs 或共享库中的函数。
  2. Windows API 调用:通过 ctypescolorama 调用这些 .dll 文件中定义的函数,执行如设置控制台输出颜色、移动光标位置等操作。

以下是一个使用ctypes调用kernel32.dll中函数的简单示例


import ctypes
# 加载kernel32.dll
kernel32 = ctypes.WinDLL('kernel32')
# 调用kernel32.dll中的函数,例如:SetConsoleTitleA
kernel32.SetConsoleTitleA.argtypes = [ctypes.c_char_p]
kernel32.SetConsoleTitleA.restype = ctypes.c_int
# 设置控制台标题
title = "我的控制台"
kernel32.SetConsoleTitleA(title.encode('utf-8'))

  在这个示例中,我们使用 ctypes 加载了 kernel32.dll,并调用了 SetConsoleTitleA 函数来设置控制台的标题。

  因此,当您看到 colorama 源码中的 .dll 文件时,应该理解为这些文件是 colorama 为了在 Windows 上实现其功能所依赖的系统级组件。colorama 本身并不包含任何 .dll 文件,但它会使用 ctypes 来与这些系统 .dll 文件交互。



回页目录


6、windows对编程语言不太“亲近”


  • 我问
    在这里插入图片描述
  • ai
      您的感受是可以理解的。Windows 和 Linux 在对待编程语言和支持开发者方面确实有一些差异,这些差异主要由以下几个因素造成

6.1 系统架构和设计哲学

  • Linux:Linux 系统基于 Unix 设计哲学,它从一开始就非常注重命令行界面和脚本编程。Linux 和 Unix 系统有着深厚的开源文化背景,许多编程语言、工具和库都是首先在 Linux 上开发的。
  • Windows:Windows 系统更侧重于图形用户界面(GUI)和商业应用。虽然 Windows 也支持命令行和脚本编程,但它的许多核心功能和服务都是通过专有的 API 提供的,这有时会使得在 Windows 上进行开发比在 Linux 上更具挑战性。

6.2 开发工具和库

  • Linux:Linux 拥有广泛的开发工具和库,许多开源项目都是优先考虑 Linux 平台的。开发者通常可以轻松地通过包管理器安装和使用这些工具。
  • Windows:虽然 Windows 也在努力提供更好的开发工具支持(例如 Visual Studio、Windows Subsystem for Linux (WSL)),但有时仍然需要额外的配置和依赖来使某些开源工具和库在 Windows 上运行。

6.3 系统集成和兼容性

  • Linux:Linux 系统的集成度较高,许多编程语言和工具都是系统的一部分,因此它们之间的兼容性通常很好。
  • Windows:Windows 系统需要考虑到向后兼容性,这意味着它必须支持旧版本的软件和硬件。这有时会导致在集成新工具和语言时出现兼容性问题。

6.4 社区支持

  • Linux:Linux 拥有一个庞大的开发者社区,许多问题都有现成的解决方案和文档。
  • Windows:虽然 Windows 也有一个强大的开发者社区,但对于某些特定于 Linux 的编程任务,可能难以找到同样水平的支持和文档。

  然而,值得注意的是,微软近年来在改善 Windows 对开发者友好度方面做出了许多努力。例如,WSL 允许开发者在 Windows 上运行 Linux 环境,从而可以直接使用 Linux 工具和命令行。此外,微软也在积极支持开源项目,并改进了对 Python 等编程语言的支持。

  总的来说,虽然 Windows 和 Linux 在某些方面存在差异,但两者都在不断进步,致力于为开发者提供更好的开发体验。选择哪个平台往往取决于具体的项目需求和个人偏好。



回页目录


A I AI AI让学习如虎添翼…


  • ai让学习如虎添翼💪💪
    在这里插入图片描述


回页首


上一篇:  简单“复盘”我的笔记模板(python脚本自动生成新文章模板,快捷、统一、便宜修正。迅速作文)
下一篇: 



我的HOT博:

  本次共计收集 311 篇博文笔记信息,总阅读量43.82w。数据于2024年03月22日 00:50:22完成采集,用时6分2.71秒。阅读量不小于6.00k的有 7 7 7篇。

  • 001
    标题:让QQ群昵称色变的神奇代码
    (浏览阅读 5.9w )
    地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:25 收藏:86 评论:17
    摘要:让QQ昵称色变的神奇代码。
    首发:2022-01-18 19:15:08
    最后编辑:2022-01-20 07:56:47

  • 002
    标题:Python列表(list)反序(降序)的7种实现方式
    (浏览阅读 1.1w )
    地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:8 收藏:35 评论:8
    摘要:Python列表(list)反序(降序)的实现方式:原址反序,list.reverse()、list.sort();遍历,全数组遍历、1/2数组遍历;新生成列表,resersed()、sorted()、负步长切片[::-1]。
    首发:2022-12-11 23:54:15
    最后编辑:2023-03-20 18:13:55

  • 003
    标题:pandas 数据类型之 DataFrame
    (浏览阅读 9.7k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:7 收藏:36 
    摘要:pandas 数据类型之 DataFrame_panda dataframe。
    首发:2022-05-01 13:20:17
    最后编辑:2022-05-08 08:46:13

  • 004
    标题:个人信息提取(字符串)
    (浏览阅读 8.2k )
    地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:2 收藏:15 
    摘要:个人信息提取(字符串)_个人信息提取python。
    首发:2022-04-18 11:07:12
    最后编辑:2022-04-20 13:17:54

  • 005
    标题:Python字符串居中显示
    (浏览阅读 7.6k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    评论:1

  • 006
    标题:罗马数字转换器|罗马数字生成器
    (浏览阅读 7.5k )
    地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    摘要:罗马数字转换器|生成器。
    首发:2022-01-19 23:26:42
    最后编辑:2022-01-21 18:37:46

  • 007
    标题:回车符、换行符和回车换行符
    (浏览阅读 6.0k )
    地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:2 收藏:3 
    摘要:回车符、换行符和回车换行符_命令行回车符。
    首发:2022-02-24 13:10:02
    最后编辑:2022-02-25 20:07:40


推荐条件 阅读量突破6.00k
(更多热博,请点击蓝色文字跳转翻阅)

  • 截屏图片
    在这里插入图片描述
      (此文涉及ChatPT,曾被csdn多次下架,前几日又因新发笔记被误杀而落马。躺“未过审”还不如回收站,回收站还不如永久不见。😪值此年底清扫,果断移除。留此截图,以识“曾经”。2023-12-31)



回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

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

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

相关文章

GitLab添加TortoiseGIT生成SSH Key

文章目录 前言一、PuTTYgen二、GitLab 前言 GitLab是一个用于托管代码仓库和项目管理的Web平台,公司搭建自己的gitlab来管理代码,我们在clone代码的时候可以选择http协议,也可以选择ssh协议来拉取代码。 SSH (Secure Shell)是一种通过网络进…

【脚本】清空指定文件夹内容

main执行一次,1.txt就会写入一些东西。 原来的想法是覆盖重写,结果却是接着往后面写,检查源代码有点费事,不如在每次程序执行前,先直接清空文件夹! 部分代码: 修改路径就能用。 import os im…

微信小程序-自定义tabBar

通过官网给出的示例自己实现了自定义的tabBar,但结果发现 无法监听页面生命周期函数 结语:原想的是实现不一样的效果(如下) 故尝试了自定义tabBar,虽然做出来了,但也发现这个做法存在不足: 在…

记一次Mycat分库分表实践

接了个活,又搞分库分表。 一、分库分表 在系统的研发过程中,随着数据量的不断增长,单库单表已无法满足数据的存储需求,此时就需要对数据库进行分库分表操作。 分库分表是随着业务的不断发展,单库单表无法承载整体的数据存储时,采取的一种将整体数据分散存储到不同服务…

Golang | 腾讯一面

go的调度 Golang的调度器采用M:N调度模型,其中M代表用户级别的线程(也就是goroutine),而N代表的事内核级别的线程。Go调度器的主要任务就是N个OS线程上调度M个goroutine。这种模型允许在少量的OS线程上运行大量的goroutine。 Go调度器使用了三种队列来…

vue3 常用的知识点

setup:容许在script当中书写组合式API 并且vue3的template不再要求唯一的根元素 <script setup>const name app; </script>组合式API的用法&#xff1a; 可以直接在script标签中定义变量或者函数&#xff0c;然后直接在template当中使用 <template>{{mes…

编程类精品GPTs

文章目录 编程类精品GPTs前言种类ChatGPT - GrimoireProfessional-coder-auto-programming 总结 编程类精品GPTs 前言 代码类的AI, 主要看以下要点: 面对含糊不清的需求是否能引导出完整的需求面对完整的需求是否能分步编写代码完成需求编写的代码是否具有可读性和可扩展性 …

javaEE-03-cookie与session

文章目录 Cookie创建Cookie获取Cookie更新CookieCookie 生命控制Cookie 有效路径 Session 会话创建和获取sessionSession 域数据的存取Session 生命周期控制浏览器和 Session 之间关联 Cookie Cookie 是服务器通知客户端保存键值对的一种技术,客户端有了 Cookie 后&#xff0c…

【ARM】MDK-ARM软件开发工具的最终用户许可协议获取

【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 了解MDK-ARM系列产品内软件开发工具的最终用户许可协议的获取。 2、 问题场景 对于部分外企客户需要软件开发工具的最终用户许可协议作为产品资料&#xff0c;以便附录并说明。 3、软硬件环境 1&#xff09;、软件…

Shell编程之正则表达式与文本处理器2--sed

目录 一、sed 工具 1. 概述 2. sed 原理 3、常用操作选项 3.1 常用选项 3.2 操作命令 4. sed 的使用 5. 具体操作 5.1 打印输出 p 5.1.1 显示范围、单行、指定行输出、指定往后加几行输出 5.1.2 显示奇偶行 5.1.3 将指定内容的行打印出来 5.1.4 只输出行号…

ESP32和mDNS学习

目录 mDNS的作用mDNS涉及到的标准文件组播地址IPv4 多播地址IPv6 多播地址预先定义好的组播地址 mDNS调试工具例程mDNS如何开发和使用注册服务查询服务 mDNS的作用 mDNS 是一种组播 UDP 服务&#xff0c;用来提供本地网络服务和主机发现。 你要和设备通信&#xff0c;需要记住…

python通过omniORBpy调用CORBA

omniORB参考地址&#xff1a; omniORB omniORB - Browse Files at SourceForge.net omniORB - Browse /omniORBpy/omniORBpy-4.3.0 at SourceForge.net Windows 普通使用好像不需要安装omniorb。就对接北向接口业务需要使用python3.10的windows包&#xff0c;但目前好像没有…

【CI/CD】docker + Nginx自动化构建部署

CI/CD是什么 CI/CD 是持续集成&#xff08;Continuous Integration&#xff09;和持续部署&#xff08;Continuous Deployment&#xff09;或持续交付&#xff08;Continuous Delivery&#xff09;的缩写&#xff0c;它们是现代软件开发中用于自动化软件交付过程的实践。 1、…

Centos安装、迁移gitlab

Centos安装迁移gitlab 一、下载安装二、配置rb修改&#xff0c;起服务。三、访问web&#xff0c;个人偏好设置。四、数据迁移1、查看当前GitLab版本2、备份旧服务器的文件3、将上述备份文件拷贝到新服务器同一目录下&#xff0c;恢复GitLab4、停止新gitlab数据连接服务5、恢复备…

GO-学习-03-基本数据类型

数据类型&#xff1a;基本数据类型和复合数据类型 基本数据类型&#xff1a;整型、浮点型、布尔型、字符串 复合数据类型&#xff1a;数组、切片、结构体、函数、map、通道&#xff08;channel&#xff09;、接口 整型&#xff1a; package main import "fmt" im…

Apache Doris + Paimon 快速搭建指南|Lakehouse 使用手册(二)

湖仓一体&#xff08;Data Lakehouse&#xff09;融合了数据仓库的高性能、实时性以及数据湖的低成本、灵活性等优势&#xff0c;帮助用户更加便捷地满足各种数据处理分析的需求。在过去多个版本中&#xff0c;Apache Doris 持续加深与数据湖的融合&#xff0c;已演进出一套成熟…

32单片机开发bootloader程序

一&#xff0c;单片机为什么要使用bootloader 1、使用bootloader的好处 1) 程序隔离&#xff1a;可以同时存在多个程序&#xff0c;只要flash空间够大&#xff0c;或者通过外挂flash&#xff0c;可以实现多个程序共存&#xff0c;在多个程序之间切换使用。 2&#xff09;方便程…

OpenHarmony 入门——初识JS/ArkTS 侧的“JNI” NAPI 常见的函数详解(二)

引言 前面一篇文章OpenHarmony 入门——初识JS/ArkTS 侧的“JNI” NAPI&#xff08;一&#xff09;介绍了NAPI的基础理论知识&#xff0c;今天重点介绍下NAPI中重要的函数。 一、Native 侧的NAPI的相关的C函数 以下面一段代码为例介绍下主要函数的功能和用法。 napi_value …

系统模块时序图的重要性:解锁系统模块交互的全景视图

在复杂的系统开发中,理解和管理不同模块之间的交互是成功的关键。时序图是一种有效的工具,可以帮助我们清晰地展示这些交互,提升设计和开发的效率。本文将深入探讨系统模块之间的时序图,并通过实例展示其实际应用。 1. 什么是系统模块之间的时序图? 系统模块之间的时序图…

Layui表格向下滑动时表头固定悬浮

记录&#xff1a;Layui表格向下滑动时表头固定悬浮 使用table的height参数&#xff1a; 示例 //“方法级渲染”配置方式 table.render({ //其它参数在此省略height: 315 //固定值 }); table.render({ //其它参数在此省略height: full-20 //高度最大化减去差值 }); 等价于&am…