- 1 简介在 go社区有句话是: 一切都是值传递, PASS BY VALUE.当我们传递一个内存地址时,我们传递了一个值与 C 系列中的所有语言一样,Go 中的所有内容都是通过值传递的。也就是说,函数总是获取所传递事物的副本,就好像有一个赋值语句将值分配给参数一样。例如,将 int 值传递给函数会复制 int,传递指针值会复制指针,但不会复制它指向的数据。本文举例依次说明这几种常见场景。 ... 1 简介在 go社区有句话是: 一切都是值传递, PASS BY VALUE.当我们传递一个内存地址时,我们传递了一个值与 C 系列中的所有语言一样,Go 中的所有内容都是通过值传递的。也就是说,函数总是获取所传递事物的副本,就好像有一个赋值语句将值分配给参数一样。例如,将 int 值传递给函数会复制 int,传递指针值会复制指针,但不会复制它指向的数据。本文举例依次说明这几种常见场景。 ...
- 2025-04-22:形成目标字符串需要的最少字符串数Ⅰ。用go语言,给定一个字符串数组 words 和一个目标字符串 target。如果一个字符串 x 是 words 中某个字符串的开头部分(前缀),那么它被视为有效字符串。现在希望通过拼接这些有效字符串来组装出 target,求出拼接所需的最少字符串数量。如果无法拼出 target,则返回 -1。1 <= words.length <= ... 2025-04-22:形成目标字符串需要的最少字符串数Ⅰ。用go语言,给定一个字符串数组 words 和一个目标字符串 target。如果一个字符串 x 是 words 中某个字符串的开头部分(前缀),那么它被视为有效字符串。现在希望通过拼接这些有效字符串来组装出 target,求出拼接所需的最少字符串数量。如果无法拼出 target,则返回 -1。1 <= words.length <= ...
- Java 策略模式排序系统 介绍策略模式是一种行为型设计模式,它允许定义一系列算法,将每一个算法封装起来,并使它们可以互相替换。策略模式使得算法的独立性得到增强,客户可以根据需要选择不同的算法。在排序系统中,可以用策略模式来实现多种排序算法的灵活切换。 引言在软件开发过程中,排序是一项常见任务,不同的场景可能需要使用不同的排序算法。通过策略模式,可以将这些算法封装为独立的策略类,方便进行切... Java 策略模式排序系统 介绍策略模式是一种行为型设计模式,它允许定义一系列算法,将每一个算法封装起来,并使它们可以互相替换。策略模式使得算法的独立性得到增强,客户可以根据需要选择不同的算法。在排序系统中,可以用策略模式来实现多种排序算法的灵活切换。 引言在软件开发过程中,排序是一项常见任务,不同的场景可能需要使用不同的排序算法。通过策略模式,可以将这些算法封装为独立的策略类,方便进行切...
- 2025-04-21:最高乘法得分。用go语言,你有一个长度为4的整数数组a,还有一个长度不少于4的整数数组b。需要从b中选择4个严格递增的下标i0、i1、i2和i3,使得i0 < i1 < i2 < i3。你的目标是使表达式 a[0]*b[i0] + a[1]*b[i1] + a[2]*b[i2] + a[3]*b[i3] 的值达到最大。请返回这个最大可能的得分。a.length == 4... 2025-04-21:最高乘法得分。用go语言,你有一个长度为4的整数数组a,还有一个长度不少于4的整数数组b。需要从b中选择4个严格递增的下标i0、i1、i2和i3,使得i0 < i1 < i2 < i3。你的目标是使表达式 a[0]*b[i0] + a[1]*b[i1] + a[2]*b[i2] + a[3]*b[i3] 的值达到最大。请返回这个最大可能的得分。a.length == 4...
- 本文深入解析了列式存储、数据压缩、向量化执行引擎、分布式计算模型及MergeTree引擎的底层原理。首先对比列式与行式存储,阐述列式存储在减少I/O、高效压缩及向量化处理方面的优势;接着分析常用压缩算法(如LZ4、ZSTD)及其优化策略。随后探讨向量化执行引擎的工作机制,包括数据块结构、SIMD指令加速及零拷贝技术,显著提升OLAP查询性能。分布式计算部分详解分片与副本机制,确保高可用与扩展性。最 本文深入解析了列式存储、数据压缩、向量化执行引擎、分布式计算模型及MergeTree引擎的底层原理。首先对比列式与行式存储,阐述列式存储在减少I/O、高效压缩及向量化处理方面的优势;接着分析常用压缩算法(如LZ4、ZSTD)及其优化策略。随后探讨向量化执行引擎的工作机制,包括数据块结构、SIMD指令加速及零拷贝技术,显著提升OLAP查询性能。分布式计算部分详解分片与副本机制,确保高可用与扩展性。最
- 1 简介什么是 Golang 中的闭包?当 Go 中的匿名函数可以访问其周围环境时,就会发生闭包。然后它可以保持自己的独特状态。然后,当我们创建函数的新实例时,之前实例的状态将是独立的。这将为函数创建一个新属性,以了解其周围环境。此属性称为 闭包closure 属性。 2 变量的范围匿名函数,嵌套函数 和 返回函数都可以访问局部块变量,如果不使用局部变量隔离数据,那么就使用全局变量(pa... 1 简介什么是 Golang 中的闭包?当 Go 中的匿名函数可以访问其周围环境时,就会发生闭包。然后它可以保持自己的独特状态。然后,当我们创建函数的新实例时,之前实例的状态将是独立的。这将为函数创建一个新属性,以了解其周围环境。此属性称为 闭包closure 属性。 2 变量的范围匿名函数,嵌套函数 和 返回函数都可以访问局部块变量,如果不使用局部变量隔离数据,那么就使用全局变量(pa...
- 2025-04-19:最长上升路径的长度。用go语言,给你一个长度为 n 的二维整数数组 coordinates 和一个整数 k(满足 0 <= k < n)。数组 coordinates 中的每个元素 coordinates[i] = [xi, yi] 表示二维平面上的一个点 (xi, yi)。定义一个点序列 (x1, y1), (x2, y2), …, (xm, ym) 为“上升序列”,... 2025-04-19:最长上升路径的长度。用go语言,给你一个长度为 n 的二维整数数组 coordinates 和一个整数 k(满足 0 <= k < n)。数组 coordinates 中的每个元素 coordinates[i] = [xi, yi] 表示二维平面上的一个点 (xi, yi)。定义一个点序列 (x1, y1), (x2, y2), …, (xm, ym) 为“上升序列”,...
- 1 函数内联简介这可能涉及编译器优化、语言设计和性能分析几个方面。内联是将较小的函数组合到各自的调用者中的行为。在计算的早期,这种优化通常是手动执行的。如今,内联是在编译过程中自动执行的一类基本优化之一。内联很重要,原因有两个。首先是它消除了函数调用本身的开销。其次,它允许编译器更有效地应用其他优化策略。在Go中,一个协程会有一个单独的栈,栈又会包含多个栈帧,栈帧是函数调用时在栈上为函数所... 1 函数内联简介这可能涉及编译器优化、语言设计和性能分析几个方面。内联是将较小的函数组合到各自的调用者中的行为。在计算的早期,这种优化通常是手动执行的。如今,内联是在编译过程中自动执行的一类基本优化之一。内联很重要,原因有两个。首先是它消除了函数调用本身的开销。其次,它允许编译器更有效地应用其他优化策略。在Go中,一个协程会有一个单独的栈,栈又会包含多个栈帧,栈帧是函数调用时在栈上为函数所...
- 在JavaScript中,深拷贝与浅拷贝是数据复制的两种核心方式。浅拷贝仅复制对象或数组的第一层,基本类型独立,引用类型共享内存,修改会影响原数据;而深拷贝则完全独立复制整个数据结构,确保新旧数据互不影响。实现浅拷贝常用`Object.assign()`、扩展运算符等。 在JavaScript中,深拷贝与浅拷贝是数据复制的两种核心方式。浅拷贝仅复制对象或数组的第一层,基本类型独立,引用类型共享内存,修改会影响原数据;而深拷贝则完全独立复制整个数据结构,确保新旧数据互不影响。实现浅拷贝常用`Object.assign()`、扩展运算符等。
- 1 简介Go 的逃逸分析就像一个被许多开发人员忽视的超能力。这不仅仅是关于内存管理;这是关于从代码中榨取每一点性能。我很高兴能学到这种“神秘”的东西并且分享给各位。奖励好奇的开发人员!逃逸分析显示变量在内存中的存储位置。堆上的变量使用速度较慢,需要垃圾回收,而堆栈上的变量速度更快,并且会自动清理。通常内存中的变量栈分配速度更快,并且对于生存期较短的变量是首选,而堆分配对于具有较长生命周期或... 1 简介Go 的逃逸分析就像一个被许多开发人员忽视的超能力。这不仅仅是关于内存管理;这是关于从代码中榨取每一点性能。我很高兴能学到这种“神秘”的东西并且分享给各位。奖励好奇的开发人员!逃逸分析显示变量在内存中的存储位置。堆上的变量使用速度较慢,需要垃圾回收,而堆栈上的变量速度更快,并且会自动清理。通常内存中的变量栈分配速度更快,并且对于生存期较短的变量是首选,而堆分配对于具有较长生命周期或...
- 2025-04-18:求出数组中最大序列值。用go语言,给定一个整数数组 nums 和一个正整数 k。定义一个长度为 2*k 的子序列 seq 的值为:1.将 seq 的前 k 个元素依次做按位或运算,得到一个值;2.将 seq 的后 k 个元素依次做按位或运算,得到另一个值;3.然后将这两个结果做按位异或(XOR),得到 seq 的最终值。任务是从 nums 中的所有长度为 2*k 的连续... 2025-04-18:求出数组中最大序列值。用go语言,给定一个整数数组 nums 和一个正整数 k。定义一个长度为 2*k 的子序列 seq 的值为:1.将 seq 的前 k 个元素依次做按位或运算,得到一个值;2.将 seq 的后 k 个元素依次做按位或运算,得到另一个值;3.然后将这两个结果做按位异或(XOR),得到 seq 的最终值。任务是从 nums 中的所有长度为 2*k 的连续...
- 2025-04-17:穿越网格图的安全路径。用go语言,给定一个大小为 m 行 n 列的二维二进制数组 grid,以及一个初始健康值 health。你从左上角的位置 (0, 0) 出发,目标是抵达右下角的位置 (m - 1, n - 1)。在移动时,你可以选择上下左右四个方向的相邻格子,但前提是移动后你的健康值始终保持大于0。如果你进入的格子 grid[i][j] 为 1,则表示该格子存在危... 2025-04-17:穿越网格图的安全路径。用go语言,给定一个大小为 m 行 n 列的二维二进制数组 grid,以及一个初始健康值 health。你从左上角的位置 (0, 0) 出发,目标是抵达右下角的位置 (m - 1, n - 1)。在移动时,你可以选择上下左右四个方向的相邻格子,但前提是移动后你的健康值始终保持大于0。如果你进入的格子 grid[i][j] 为 1,则表示该格子存在危...
- 1 简介当使用允许访问指针值的编程语言(如 Java、C#、C/C++、Go 等)时,通常必须小心区分按值传递和按引用传递。 按值传递 按引用传递 将函数参数的值复制到另一个变量的机制 将实际参数传递给函数的机制 在函数中所做的更改不会反映在原始值... 1 简介当使用允许访问指针值的编程语言(如 Java、C#、C/C++、Go 等)时,通常必须小心区分按值传递和按引用传递。 按值传递 按引用传递 将函数参数的值复制到另一个变量的机制 将实际参数传递给函数的机制 在函数中所做的更改不会反映在原始值...
- 2025-04-16:找到稳定山的下标。用go语言,给定一个整数数组 height,表示一列山的高度,其中 height[i] 表示第 i 座山的高度,还有一个整数 threshold。我们定义一个山为“稳定”的条件是:对于每座下标不为 0 的山,如果它左侧相邻的山的高度严格大于 threshold,那么这座山就是稳定的。而下标为 0 的山永远被认为不稳定。请你返回一个数组,包含所有稳定山的... 2025-04-16:找到稳定山的下标。用go语言,给定一个整数数组 height,表示一列山的高度,其中 height[i] 表示第 i 座山的高度,还有一个整数 threshold。我们定义一个山为“稳定”的条件是:对于每座下标不为 0 的山,如果它左侧相邻的山的高度严格大于 threshold,那么这座山就是稳定的。而下标为 0 的山永远被认为不稳定。请你返回一个数组,包含所有稳定山的...
- 2025-04-15:吃掉所有兵需要的最多移动次数。用go语言,在一个 50 x 50 的国际象棋棋盘上,有一个骑士和若干个士兵。假设骑士的初始位置用两个整数 kx 和 ky 表示,同时士兵的位置用二维数组 positions 表示,其中 positions[i] = [xi, yi] 表示第 i 个士兵的位置。Alice 和 Bob 正在进行一场轮流进行的游戏,Alice 先手。每个玩家在... 2025-04-15:吃掉所有兵需要的最多移动次数。用go语言,在一个 50 x 50 的国际象棋棋盘上,有一个骑士和若干个士兵。假设骑士的初始位置用两个整数 kx 和 ky 表示,同时士兵的位置用二维数组 positions 表示,其中 positions[i] = [xi, yi] 表示第 i 个士兵的位置。Alice 和 Bob 正在进行一场轮流进行的游戏,Alice 先手。每个玩家在...
上滑加载中
推荐直播
-
华为云码道Agent集成与鸿蒙实战2026/08/11 周二 19:00-21:00
王一男-华为云码道产品规划专家;李炎-华为云码道产品专家;彭江敏-华为云鸿蒙端云一体化开发专家
本次直播带你解读华为云码道7月份产品新特性、新功能。更有专家演示码道Agent Space × 钉钉机器集成实战,从0到1打通消息通道;码道鸿蒙端云一体化实战,快速搭建员工签到系统。
回顾中 -
华为云开发者AI素养直播课·第五期2026/09/04 周五 16:00-18:00
林华鼎-华为云AI开发者运营负责人;蒋春阳-华为云AI开发者案例开发专家
本期直播内容: AI工具体验营 · 第5-8课连讲。Agent-Team 多智能体协作完成毕业设计实践
回顾中 -
华为云开发者AI素养ClassRoom·第六期2026/09/08 周二 19:00-20:00
樊渊-2026华为软件挑战赛冠军
高手来了:看软挑高手解析二维排样问题—从工业难题到算法突破
回顾中
热门标签