uni-app UTS 内置对象 Float64Array 完全指南:构造、静态与实例方法全解析
uni-app UTS 内置对象 Float64Array 完全指南构造、静态与实例方法全解析【免费下载链接】uni-appA cross-platform framework using Vue.js项目地址: https://gitcode.com/gh_mirrors/un/uni-appFloat64Array 是 UTSuni type script语言提供的内置类型化数组TypedArray对象它基于 ArrayBuffer 以 IEEE 754 双精度浮点格式64 位存储二进制数据是 uni-app / uni-app x 跨端开发中处理高精度数值数据、与原生层交换二进制内存的核心工具。本文以 docs/uts/buildin-object-api/float64array.md 为骨架结合 examples/hello-uts/uni_modules/uts-tests/utssdk/TFloat64Array.uts 中的真实测试用例完整讲解其三种构造函数、静态属性与方法、实例属性与全部实例方法并给出各平台兼容性对照读完即可在 UTS 插件或 uvue 页面中直接落地使用。一、认识 Float64ArrayUTS 中的双精度类型化数组1.1 类型化数组与 UTS 的跨端定位在 UTS 语言介绍 中uts 被定义为一门跨平台、高性能、强类型的现代编程语言可编译为 JavaScriptWeb/小程序、KotlinAndroid、SwiftiOS和 ArkTSHarmonyOS。类型化数组TypedArray是 UTS 内建对象体系中用于操作二进制缓冲区的高性能数据结构。Float64Array 与 Float32Array、Int8Array、Int16Array、Int32Array、Uint8Array、Uint16Array、Uint32Array、Uint8ClampedArray 等一同构成 UTS 的 TypedArray 家族。它们不能直接操作底层 ArrayBuffer而是将缓冲区中的数据按特定格式解释通过视图读写内容。1.2 Float64Array 的核心特征元素宽度每个元素占BYTES_PER_ELEMENT 8 字节64 位双精度浮点对应 IEEE 754 double。数值精度相比 Float32Array 的 32 位单精度Float64Array 能表达更高精度的浮点数适合科学计算、坐标、金额等对精度敏感的场景。内存视图同一段 ArrayBuffer 可被多个不同类型化数组以不同视图解读例如用 Float64Array 与 Uint8Array 共享同一缓冲区。索引访问支持float64[0] 42这样的下标读写也支持length、buffer、byteLength、byteOffset等视图元信息。二、三种构造函数从长度、数组与缓冲区创建实例Float64Array 提供三种重载构造函数覆盖了从空长度、从类数组/数组缓冲区、从既有 ArrayBuffer 视图三种典型创建路径。2.1 new(length : number)以指定长度创建一个 Float64Array内部会分配一个大小为length × BYTES_PER_ELEMENT字节的数组缓冲区并以 0 填充。省略所有参数等同于传入 0。参数| 名称 | 类型 | 必填 | 描述 | | :- | :- | :- | :- | | length | number | 是 | 当使用非对象调用时该参数被视为指定类型化数组长度的数字。在内存中创建内部数组缓冲区大小 长度 × BYTES_PER_ELEMENT 字节用 0 填充。省略所有参数等同于使用 0 作为参数。 |返回值Float64Array 实例对象。let float64 new Float64Array(2); // 创建 2 个元素各占 8 字节共 16 字节缓冲区 float64[0] 42; console.log(float64[0]); // 42 console.log(float64.length); // 2对应测试可参考 TFloat64Array.uts 的 testfloat64其中断言Float64Array.BYTES_PER_ELEMENT 8、length 2。2.2 new(array : ArrayLikenumber | ArrayBufferLike)当使用 TypedArray 子类实例调用时typedArray 会被拷贝到一个新的类型化数组中对于非 bigint TypedArray 构造函数如 Float64Array、Int32ArraytypedArray 参数仅可以是非 bigint 类型对于 bigint TypedArray 构造函数BigInt64Array / BigUint64ArraytypedArray 参数仅可以是 bigint 类型typedArray 中的每个值在拷贝到新数组之前都会被转换为构造函数的相应类型新类型化数组的长度与 typedArray 参数的长度相同。参数| 名称 | 类型 | 必填 | 描述 | | :- | :- | :- | :- | | array | ArrayLikenumber | ArrayBufferLike | 是 | 类数组对象需具备 length 属性与数字索引或 ArrayBufferLike 缓冲区元素将按构造函数类型转换后逐项拷贝。 |返回值Float64Array 实例对象。// 从普通数组字面量创建类数组 let x new Float64Array([21, 31, 3]); console.log(x[1]); // 31 // 从另一个 Float64Array 拷贝创建 let y new Float64Array(x); console.log(y[0]); // 212.3 new(buffer : ArrayBufferLike, byteOffset ?: number, length ?: number)当使用 ArrayBuffer 实例以及可选的byteOffset和length参数调用时创建一个指定缓冲区的类型化数组视图byteOffset和length指定视图暴露的内存范围如果忽略两个参数则视图覆盖整个 buffer如果仅忽略 length则是从 byteOffset 开始到 buffer 末尾的剩余部分视图。参数| 名称 | 类型 | 必填 | 描述 | | :- | :- | :- | :- | | buffer | ArrayBufferLike | 是 | ArrayBuffer 实例 | | byteOffset | number | 否 | 可选偏移量单位字节 | | length | number | 否 | 可选视图长度 |let buffer new ArrayBuffer(16); let z new Float64Array(buffer, 2, 4); // 从字节 2 起4 个元素 console.log(z.byteOffset); // 2 console.log(z.length); // 4 let float64 new Float64Array(buffer); // 全视图16 字节 ÷ 8 2 个元素 float64[1] 42; console.log(float64.toString()); // 0,42buffer 的属性描述| 名称 | 类型 | 必备 | 兼容性 | 描述 | | :- | :- | :- | :- | :- | | byteLength | number | 是 | Web: √; Android: 4.25; iOS: 4.11; HarmonyOS: 4.61 | ArrayBuffer 实例的 byteLength 访问器属性返回该数组缓冲区的长度以字节为单位。 |ArrayBufferLike 的方法slice(begin ?: number, end ?: number) : ArrayBuffer返回一个新的 ArrayBuffer包含原缓冲从 begin包含到 end不含的所有字节副本。begin可选起始位置索引从 0 开始将被转换为整数。负数索引从缓冲区末尾计算start 0时使用start buffer.length若start -buffer.length或省略 start 则使用 0若start buffer.length则不提取任何内容。end可选结束位置索引从 0 开始提取到但不包括 end。负数索引从末尾计算end 0时使用end buffer.length若end -buffer.length则使用 0若end buffer.length或省略 end 则使用 buffer.length提取到末尾若标准化后的 end 在 start 之前则不提取任何内容。兼容性Web √Android 4.25iOS 4.11HarmonyOS 4.61。let buffer new ArrayBuffer(16); let float64 new Float64Array(buffer); float64[1] 42; console.log(float64.toString()); // 0,42 let res buffer.slice(8); // 从第 8 字节起拷贝 let sliced new Float64Array(res); console.log(sliced[0]); // 42toByteBuffer() : ByteBuffer返回 Android 原生 ByteBuffer 对象仅 Android 平台可用兼容性Web xAndroid 4.25iOS xHarmonyOS x。toData() : Data返回 iOS 原生 Data 对象文档当前标注各平台均为 x即尚不支持使用前以实际 HBuilderX 版本为准。三、静态属性与静态方法3.1 静态属性 BYTES_PER_ELEMENT数组中每个元素的字节大小Float64Array 固定为 8。console.log(Float64Array.BYTES_PER_ELEMENT); // 83.2 静态方法 of(...items)从一组元素创建一个新数组参数items: number[]要包含在新数组对象中的一组元素返回 Float64Array。var float64Array Float64Array.of(1, 2, 3) console.log(float64Array.toString()); // 1,2,33.3 静态方法 from(arrayLike, mapFn?)从类似数组或可迭代对象创建数组。参数| 名称 | 类型 | 必填 | 描述 | | :- | :- | :- | :- | | arrayLike | ArrayLikenumber | 是 | 要转换为数组的类数组或可迭代对象需具备length: number与数字索引[n: number]: number| | mapfn | (v: number, k: number) number | 否 | 可选。指定后生成的类型化数组会先经过该函数加工处理后再返回 |返回值Float64Array。var float64Array Float64Array.from([1, 2, 3], (v : number, _ : number) : number v v); console.log(float64Array.toString()); // 2,4,6from与of的断言2,4,6与1,2,3同样在 TFloat64Array.uts 的 from/of 方法 中以expect(...).toEqual(...)形式固化。四、实例属性| 属性 | 说明 | | :- | :- | | BYTES_PER_ELEMENT | 数组中每个元素的字节大小实例上同样可访问值为 8 | | buffer | 该视图所引用的底层 ArrayBuffer | | byteLength | 视图覆盖的字节长度 | | byteOffset | 视图在底层 ArrayBuffer 中的起始字节偏移 | | length | 视图中的元素个数 byteLength ÷ BYTES_PER_ELEMENT |配合测试用例可见其一致性new Float64Array(buffer, 2, 4)时byteOffset 2、length 4见 testfloat64。五、实例方法详解5.1 元素写入与批量填充set(array, offset?)从一个数组或类型化数组向当前数组写入元素可选offset指定起始写入位置默认 0。let float64 new Float64Array(8); var array [1, 2, 3]; float64.set(array, 1); console.log(float64.toString()); // 0,1,2,3,0,0,0,0fill(value, start?, end?)用指定值填充数组区间[start, end)start/end支持负数从末尾计算。let float64_t1 new Float64Array([1, 2, 3]).fill(4); console.log(float64_t1.toString()); // 4,4,4 let float64_t2 new Float64Array([1, 2, 3]).fill(4, 1); console.log(float64_t2.toString()); // 1,4,4 let float64_t3 new Float64Array([1, 2, 3]).fill(4, 1, 2); console.log(float64_t3.toString()); // 1,4,3 let float64_t4 new Float64Array([1, 2, 3]).fill(4, 1, 1); // 空区间 console.log(float64_t4.toString()); // 1,2,3 let float64_t5 new Float64Array([1, 2, 3]).fill(4, -3, -2); console.log(float64_t5.toString()); // 4,2,35.2 元素复制与子视图copyWithin(target, start, end?)将数组中[start, end)区间内的元素复制到以target为起点的位置同数组内复制覆盖写入。let float64 new Float64Array(8); float64.set([1, 2, 3], 1); float64.copyWithin(3, 0, 3); console.log(float64.toString()); // 0,1,2,0,1,2,0,0slice(start?, end?)返回一个新 Float64Array包含原数组[start, end)区间的元素副本负数索引从末尾计算不修改原数组。let float64 new Float64Array([1, 2, 3]); console.log(float64.slice(1).toString()); // 2,3 console.log(float64.slice(2).toString()); // 3 console.log(float64.slice(-2).toString()); // 2,3 console.log(float64.slice(0, 1).toString()); // 1文档中还用 1000 个随机数验证slice(1, -1)与原数组逐元素一致new_arr[i - 1] arr[i]该逻辑在 TFloat64Array.uts 的 slice 方法 中对应断言expect(true).toEqual(ret5)。subarray(begin?, end?)返回基于同一底层缓冲区的子视图不拷贝数据修改子视图会影响原数组是零拷贝切片的关键手段。let buffer new ArrayBuffer(32); let float64 new Float64Array(buffer); float64.set([1, 2, 3]); console.log(float64.toString()); // 1,2,3,0 let sub float64.subarray(0, 4); console.log(sub.toString()); // 1,2,3,0subarray与slice的区别需要特别注意slice产生拷贝subarray共享底层内存。这在性能敏感场景如音视频帧、传感器数据流处理中影响显著。5.3 查询与遍历every(predicate)所有元素满足条件则返回 true。回调签名为(value: number, index: number, array: Float64Array) boolean。let result new Float64Array([-10, -20, -30, -40, -50]).every((value : number, _ : number, _a : Float64Array) : boolean value 0); console.log(result); // truesome(predicate)至少一个元素满足条件则返回 true。const float64 new Float64Array([-10, 20, -30, 40, -50]); const positives new Float64Array([10, 20, 30, 40, 50]); console.log(float64.some((element : number, index : number, array : Float64Array) : boolean element 0)); // true console.log(positives.some((element : number, index : number, array : Float64Array) : boolean element 0)); // falsefilter(predicate)返回由满足条件的元素组成的新 Float64Array。let float64 new Float64Array([12, 5, 8, 44]).filter((value : number, _ : number, _a : Float64Array) : boolean value 10); console.log(float64.toString()); // 12,44find(predicate)返回第一个满足条件的元素值找不到返回 undefined。let float64 new Float64Array([4, 5, 8, 12]); let res float64.find((value : number, _ : number, _a : Float64Array) : boolean value 5); console.log(res); // 8findIndex(predicate)返回第一个满足条件的元素下标找不到返回 -1。let float64 new Float64Array([4, 6, 8, 12]); let res float64.findIndex((value : number, _ : number, _a : Float64Array) : boolean value 100); console.log(res); // -1 let ufloat64 new Float64Array([4, 6, 7, 120]); res ufloat64.findIndex((value : number, _ : number, _a : Float64Array) : boolean value 100); console.log(res); // 3indexOf(searchElement, fromIndex?)查找指定元素的下标fromIndex支持负数从末尾计算找不到返回 -1。let float64 new Float64Array([2, 5, 9]); console.log(float64.indexOf(2)); // 0 console.log(float64.indexOf(7)); // -1 console.log(float64.indexOf(9, 2)); // 2 console.log(float64.indexOf(2, -1)); // -1 console.log(float64.indexOf(2, -3)); // 0forEach(callbackfn)对每个元素执行回调(value, index, array)。new Float64Array([0, 1, 2, 3]).forEach((value : number, index : number, _ : Float64Array) { console.log(a[${index}] ${value}); });map(callbackfn)对每个元素加工后返回新 Float64Array原数组不变。let numbers new Float64Array([1, 4, 9]); let doubles numbers.map((value : number, _ : number, _a : Float64Array) : number value * 2); console.log(numbers.toString()); // 1,4,9 console.log(doubles.toString()); // 2,8,18join(separator?)将所有元素拼接为字符串默认分隔符为逗号。let float64 new Float64Array([1, 2, 3]); console.log(float64.join()); // 1,2,3 console.log(float64.join( / )); // 1 / 2 / 3 console.log(float64.join()); // 123toString()返回以逗号分隔的字符串表示等价于无参 join是调试与断言中最常用的方法。5.4 归约与排序reduce(callbackfn)/reduceRight(callbackfn)从左到右reduce或从右到左reduceRight累积归约回调签名为(accumulator, currentValue, index, array) number可传初始值作为第二个参数。let total new Float64Array([0, 1, 2, 3]); let res total.reduce((accumulator : number, currentValue : number, _ : number, _a : Float64Array) : number accumulator currentValue); console.log(res); // 6 total new Float64Array([0, 1, 2, 3]); let res1 total.reduce((accumulator : number, currentValue : number, _ : number, _a : Float64Array) : number accumulator currentValue, 8); console.log(res1); // 14reverse()原地反转数组元素顺序返回原数组引用。let float64 new Float64Array([1, 2, 3]); float64.reverse(); console.log(float64.toString()); // 3,2,1sort(compareFn?)原地排序。默认按数值升序TypedArray 的默认排序是数值排序不同于普通 Array 的字符串排序也可传入比较函数(a, b) a - b自定义顺序。let numbers new Float64Array([40, 1, 5]); numbers.sort(); console.log(numbers.toString()); // 1,5,40 numbers.sort((a, b) : number a - b); console.log(numbers.toString()); // 1,5,405.5 迭代器values()、entries()、keys()三者分别返回值、[index, value]键值对、下标的迭代器配合next().value逐个取值。values()let arr new Float64Array([1, 2, 3]); let values arr.values(); console.log(values.next().value); // 1 console.log(values.next().value); // 2 console.log(values.next().value); // 3entries()let arr new Float64Array([10, 20, 30, 40, 50]); let entries arr.entries(); // #ifndef APP-IOS let value1 entries.next().value[1] // 10 let value2 entries.next().value[1] // 20 console.log(value1) // 10 console.log(value2) // 20 // #endif // #ifdef APP-IOS let value1 entries.next().value![1] // 10iOS 编译为 Swift 后需使用非空断言 ! let value2 entries.next().value![1] // 20 console.log(value1) // 10 console.log(value2) // 20 // #endifkeys()let arr new Float64Array([10, 20, 30, 40, 50]); let keys arr.keys(); console.log(keys.next().value); // 0 console.log(keys.next().value); // 1 console.log(keys.next().value); // 2 console.log(keys.next().value); // 3 console.log(keys.next().value); // 4注意entries()在 iOSSwift平台对可选值需使用!非空断言访问其它平台直接用[1]下标如上示例通过 UTS 条件编译#ifdef APP-IOS/#ifndef APP-IOS区分这也是 UTS 处理平台差异的标准姿势。六、兼容性一览以下兼容性数据来自 docs/uts/buildin-object-api/float64array.md表中版本号表示支持该特性的最低 HBuilderX / uni-app x 版本。uni-app x 兼容性| Web | Android | iOS | HarmonyOS | iOS(VDOM) UTS 插件 | | :- | :- | :- | :- | :- | | √ | 4.25 | 4.11 | 4.61 | 4.51 |uni-app 兼容性UTS 插件| Android UTS 插件 | iOS UTS 插件 | HarmonyOS UTS 插件 | | :- | :- | :- | | √ | 4.51 | √ |ArrayBufferLike 方法兼容性| 方法 | Web | Android | iOS | HarmonyOS | | :- | :- | :- | :- | :- | | slice(begin?, end?) | √ | 4.25 | 4.11 | 4.61 | | toByteBuffer() | x | 4.25 | x | x | | toData() | x | x | x | x |可见toByteBuffer()是 Android 平台专属的桥接方法返回 Kotlin 原生 ByteBuffer可用于与 Android 原生代码交换二进制数据在 iOS 侧如需原生 Data 对象需等待toData()后续版本支持或借助条件编译自行桥接。七、实战在 UTS 插件中应用 Float64Array7.1 典型使用场景高精度数值批处理传感器数据、音频采样PCM 双精度、图形变换矩阵等对精度敏感且需要连续内存的批量数据。二进制协议编解码配合 ArrayBuffer 解析二进制报文用byteOffset/length精确定位字段区间。与原生层交换数据Android 端通过buffer.toByteBuffer()将内存交给原生代码避免跨语言拷贝。性能优化用subarray做零拷贝切片用set批量写入避免逐元素赋值。7.2 一个完整的组合示例// 1. 创建缓冲区并建立 Float64Array 视图 let buffer new ArrayBuffer(64); let float64 new Float64Array(buffer); // 2. 批量写入 float64.set([1.5, 2.5, 3.5], 0); // 3. 查找与过滤 let found float64.find((v : number) : boolean v 2); // 2.5 let filtered float64.filter((v : number) : boolean v 2); // 2.5,3.5 // 4. 归约求和 let sum float64.reduce((acc : number, cur : number) : number acc cur); // 7.5 // 5. 零拷贝子视图 let sub float64.subarray(1, 3); // 视图指向原缓冲区 [1,3) 区间 // 6. Android 原生 ByteBuffer 桥接条件编译 // #ifdef APP-ANDROID let byteBuffer buffer.toByteBuffer(); // #endif console.log(float64.toString());7.3 用仓库测试用例验证行为仓库 examples/hello-uts/uni_modules/uts-tests/utssdk/TFloat64Array.uts 中实现了from/of/set/copyWithin/every/fill/filter/find/findIndex/forEach/iterator/includes/indexOf/join/keys/map/reduce/reduceRight/reverse/slice/sort/subarray/values/arrayBufferSlice等全部用例是验证本篇文章所有示例输出如0,1,2,0,1,2,0,0、12,44、1,5,40等的权威参照。其中#TEST与#END之间的代码块对应文档示例expect(...).toEqual(...)为断言在 HBuilderX 中运行 uts-tests 测试工程即可一键回归验证。另外Float64Array 与 ArrayBuffer 的协作关系可进一步参考 ArrayBuffer 文档其中ArrayBuffer.isView(float64)返回 true 的示例证明了 Float64Array 作为 ArrayBuffer 视图的身份。八、小结Float64Array 是 UTS 内置的 64 位双精度类型化数组BYTES_PER_ELEMENT 8兼容 Web/Android/iOS/HarmonyOS 全端Android 需 4.25、iOS 4.11、HarmonyOS 4.61iOS UTS 插件 4.51。三种构造函数分别面向「定长创建」「类数组/类型数组拷贝」「ArrayBuffer 视图」三类需求视图模式下务必理解byteOffset、length与底层缓冲区的映射关系。实例方法覆盖完整数组操作写入set/fill、复制copyWithin/slice/subarray、查询every/some/find/findIndex/indexOf/includes、遍历forEach/map/values/entries/keys、归约排序reduce/reduceRight/reverse/sort与输出join/toString。平台差异通过条件编译处理如 entries 在 iOS 需!断言Android 原生二进制桥接使用toByteBuffer()。所有示例输出均可在 TFloat64Array.uts 测试文件中找到对应断言便于边读边验证。【免费下载链接】uni-appA cross-platform framework using Vue.js项目地址: https://gitcode.com/gh_mirrors/un/uni-app创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026届毕业生如何应对AI就业冲击:5大抗替代方案

2026届毕业生如何应对AI就业冲击:5大抗替代方案

1. 项目背景与核心价值2026届毕业生即将面临一个被AI深度改造的就业市场。根据最新行业调研数据显示,到2026年,约40%的现有工作岗位将受到AI自动化影响。这个榜单不是要制造焦虑,而是为即将步入职场的年轻人提供切实可行的防御策略。我花了三…

2026/9/20 1:16:19 阅读更多 →
CANN ops-transformer 通算融合算子 aclnnWeightQuantMatmulAllReduce 完全指南:权重伪量化 Matmul + AllReduce 融合计算

CANN ops-transformer 通算融合算子 aclnnWeightQuantMatmulAllReduce 完全指南:权重伪量化 Matmul + AllReduce 融合计算

CANN ops-transformer 通算融合算子 aclnnWeightQuantMatmulAllReduce 完全指南:权重伪量化 Matmul AllReduce 融合计算 【免费下载链接】ops-transformer 本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。 项目地址: https:/…

2026/9/21 8:21:27 阅读更多 →
CANN ops-nn 算子解析:HardSwishGrad 反向梯度算子的原理、约束与 aclnn 调用实践

CANN ops-nn 算子解析:HardSwishGrad 反向梯度算子的原理、约束与 aclnn 调用实践

CANN ops-nn 算子解析:HardSwishGrad 反向梯度算子的原理、约束与 aclnn 调用实践 【免费下载链接】ops-nn 本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-nn HardSwishGrad 是 CAN…

2026/9/20 1:15:18 阅读更多 →

最新新闻

汽车之家网页版地址排查指南:3步定位挂马源,附前端布局对比评测

汽车之家网页版地址排查指南:3步定位挂马源,附前端布局对比评测

汽车之家网页版地址排查指南:3步定位挂马源,附前端布局对比评测 网站被黑挂马,后台却一片空白,这种绝望感每个运维和前端都懂。别慌,这通常不是代码逻辑错误,而是服务器环境或静态资源被篡改。今天不聊虚的,直接上干货,用 对比评测 的思路,带你从 汽车之家网页版地址…

2026/9/21 8:14:36 阅读更多 →
企业网站做电脑营销避坑指南:选哪家好别只看价格,看这套设计规范

企业网站做电脑营销避坑指南:选哪家好别只看价格,看这套设计规范

企业网站做电脑营销避坑指南:选哪家好别只看价格,看这套设计规范 改个需求建站公司拖一周,这种憋屈事谁没经历过?很多老板找企业网站做电脑营销,问得最多的一句话就是“哪家好”。其实,网站好不好用,营销转不转化,核心不在你付了多少钱,而在前端代码写得够不够规范,设计逻辑是否支撑你的业务目标。…

2026/9/21 8:00:00 阅读更多 →
做品管圈网站哪家好?3步避开被黑挂马陷阱

做品管圈网站哪家好?3步避开被黑挂马陷阱

做品管圈网站哪家好?3步避开被黑挂马陷阱 网站上线三天,后台突然多了个奇怪的脚本,页面弹出一堆博彩广告,SEO排名一夜清零。如果你正面临这种“网站被黑挂马不知道怎么办”的噩梦,先别慌着删库重装。很多站长在找做品管圈网站哪家好时,只盯着价格和功能,却忽略了最底层的代码安全与架构选型。今天咱们不聊虚的,…

2026/9/21 7:44:43 阅读更多 →
Voyager 資料夾管理指南:為 Gemini 與 AI Studio 的 AI 對話打造真正的「檔案系統」

Voyager 資料夾管理指南:為 Gemini 與 AI Studio 的 AI 對話打造真正的「檔案系統」

AI 应用前端 【免费下载链接】voyager Enhancement suite for Gemini, AI Studio, Claude & ChatGPT — plus a prompt manager for any websites, DeepSeek Harness included. / 面向 Gemini、AI Studio、Claude 与 ChatGPT 的增强套件;其中的提示词管理器可用…

2026/9/21 7:41:44 阅读更多 →
gatsby-source-graphql 插件全解析:将任意第三方 GraphQL API 缝合进 Gatsby 数据层

gatsby-source-graphql 插件全解析:将任意第三方 GraphQL API 缝合进 Gatsby 数据层

前端静态站点Web框架 【免费下载链接】gatsby React-based framework with performance, scalability, and security built in. 项目地址: https://gitcode.com/gh_mirrors/ga/gatsby 点击查看 免费下载 本篇技术指南以 gatsby-source-graphql 插件的 CHANGELOG 版…

2026/9/21 7:41:44 阅读更多 →
Lightweight Charts v3 到 v4 迁移指南:破坏性变更逐项分析与实战改造方案

Lightweight Charts v3 到 v4 迁移指南:破坏性变更逐项分析与实战改造方案

Lightweight Charts v3 到 v4 迁移指南:破坏性变更逐项分析与实战改造方案 【免费下载链接】lightweight-charts Performant financial charts built with HTML5 canvas 项目地址: https://gitcode.com/gh_mirrors/li/lightweight-charts 本指南以 Lightweig…

2026/9/21 7:41:44 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →