当前位置: 首页 > news >正文

3. Go函数概念

在 Go 语言中,函数被称为一等公民(First-Class Citizens),意味着函数可以像其他数据类型(如整数、字符串、结构体等)一样作为变量传递、返回、赋值等。这使得 Go 在编程时具备了极大的灵活性。

1、函数概念了解

函数的本质

  • 函数本质上是定义的一段代码块,在编译后被转换为若干条指令。

构成要素

  • 函数由语句块、函数名称、参数列表和返回值组成,是组织代码的最小单元,用于实现特定功能。

1.1、函数的作用

代码封装

  • 函数是结构化编程中对代码进行封装的基本方式,通常按照功能组织一段代码。

减少冗余

  • 函数封装的核心目的是为了复用代码,从而减少重复,实现更高效的开发。

提升可维护性

  • 使用函数能让代码结构更加简洁美观,逻辑清晰,从而提高代码的可读性和可维护性。

1.2、函数分类

常用的内建函数

1.len

  • 返回切片、数组、字符串、map 或通道的长度。

2.cap

  • 返回切片或通道的容量。

3.new

  • 分配内存并返回指向该内存的指针,初始化为零值。

4.make

  • 用于创建并初始化切片、map 或通道的内存。

5.copy

  • 将源切片的内容复制到目标切片,返回复制的元素数量。

6.append

  • 向切片末尾添加元素,返回一个新的切片。

7.delete

  • 从 map 中删除指定键及其对应的值。

8.complex

  • 构造一个复数,由实部和虚部组成。

9.real

  • 返回复数的实部。

10.imag

  • 返回复数的虚部。

11.panic

  • 引发一个运行时错误,程序进入崩溃或恢复模式。

12.recover

  • 捕获由 panic 引发的错误,用于恢复程序的正常执行。

13.close

  • 关闭通道,表示不再向该通道发送数据。
    • 库函数:如 math.Ceil() 等,提供内置的功能封装,直接调用即可。
    • 第三方函数:由第三方库提供的函数,需要了解其使用方法、参数传递(入参和出参)、以及文档或代码阅读。
    • 自定义函数:由开发者使用 func 关键字自行定义,以实现特定的逻辑功能。

    1.3、main函数了解

    func main(){} 是程序的入口函数

    • 在 Go 语言中,main 函数是程序的起点,所有的执行逻辑都会从这里开始。

    Go 编译后的代码是二进制文件

    • Go 编译器会将代码编译为适合当前操作系统的二进制指令,生成的可执行文件可以存储在持久化设备(如硬盘)上。

    操作系统如何执行二进制文件

    • 操作系统会读取这个文件,将其加载到内存中,并根据二进制指令构建一个进程。

    OS 从哪里开始执行指令?(了解)

    1.Go 程序的执行流程

    • 操作系统并不会直接从 main 函数开始执行。实际上,编译后的程序包含一些启动代码(启动函数),用于完成运行时的初始化,如内存分配、goroutine 调度器的启动等。

    2.执行顺序

    • 程序的第一条执行指令并不是 main 函数的内容,而是由 Go 编译器插入的一些初始化逻辑。

    当这些初始化任务完成后,程序会跳转到 main 函数并开始执行开发者编写的逻辑。

    3.开发者关注点

    • 对于开发者来说,重点是自己编写的代码逻辑。从 Go 的启动代码到执行 main 函数的这一过程是透明的,开发者无需关心底层的实现,只需专注于 main 函数的实现即可。

    2、函数定义

    2.1.函数的结构

    func <函数名>([参数列表]) [返回值列表] {// 函数体
    }

    2.2.函数定义规范

    1.函数名

    • 定义函数的标识符,应遵循命名规范,做到见名知意。

    2.参数列表

    • 用于传递数据给函数,参数是函数类型的重要组成部分。

    3.返回值

    • 函数执行后的结果输出,可以有零个或多个返回值。

    4.函数的命名规范

    • 遵循标识符规则,由字母、数字、下划线组成,不能以数字开头,区分大小写。
    • 见名知意,名称应直观描述函数功能,避免含糊不清。

    5.函数的类型

    • 函数是数据结构的一种,它是 Go 中的一种大类型。
    • 函数的具体类型,由函数的形参列表和返回值类型决定。

    6.函数的作用

    • 将一段代码封装在一起,方便编译成可执行的指令块。
    • 提高代码的可读性和复用性,减少重复代码。

    7. 函数名的本质

    • 函数名是一个标识符,本质上是字符串。
    • 符合标识符规范的函数名,可以在程序中唯一地标识和调用该函数。

    2.3.参数列表(Parameter List)

    • 参数列表决定了函数在调用时需要传递的参数数量和类型。
    • 参数可以是 0个、1个或多个

    1.无参函数

    定义:函数不需要任何参数输入。

    func add() {} // 定义无参函数
    add()         // 调用无参函数

    2.单参函数

    • 形式参数(形参):用于在定义时占位,描述调用时将会传递的值。
    func add(x int) {} // 定义单参函数,形参 x 为占位参数
    add(5)             // 调用时,5 是实际参数(实参)

    3.多参函数

    •可以传递多个参数,通过逗号分隔:

    func add(x int, y int) {} // 多参函数
    add(5, 10)               // 调用函数时传递两个实参

    2.4. 返回值列表

    返回值是函数执行后的输出,可以是 0个、1个或多个

    无返回值

    func display() {} // 定义无返回值函数

    单返回值

    func getValue() int { return 42 } // 返回一个整型值

    多返回值:(在其他Java语言中,多返回值可能并不直接支持,通常需要通过数组或对象等方式来模拟实现。 Go 语言中,直接支持多返回值功能,使代码更加简洁和直观。)

    func getValues() (int, string) { return 42, "hello" } // 返回多个值

    2.5.函数复用

    函数定义 一次,可以复用 多次,提升代码效率和组织性:

    func add(x int, y int) int {return x + y}func main() {result1 := add(3, 5) // 第一次调用result2 := add(10, 20) // 第二次调用}

    3、函数调用

    3.1. 函数调用的基本概念

    调用方式

    函数名() // 调用函数,执行其封装的功能和指令

    •函数调用时,实际执行函数体内的代码。

    3.2. 实际参数(实参)

    定义:函数调用时传递给函数的具体参数,称为实际参数(实参)。

    匹配规则:实参需要和形参数量、顺序、类型匹配。

    func add(x int, y int) int {return x + y
    }
    result := add(3, 5) // 实参 3 和 5 传递给形参 x 和 y

    3.3.传参过程

    定义:调用函数时,将实参传递给形参,函数内部使用形参完成计算或操作。

    调用和返回值

    func display() {fmt.Println("Hello, world!")
    }
    display() // 调用函数,无需处理返回值//单返回值:result := add(4, 5) // 调用函数,将返回值赋给变量//多返回值:
    func divide(x, y int) (int, int) {return x / y, x % y
    }
    quotient, remainder := divide(10, 3) // 使用多个变量接收返回值

    3.4. 函数调用的赋值过程

    先执行右侧,函数被调用,执行其内部逻辑,直到返回结果。

    再赋值左侧,将返回值赋给左侧的变量。

    t := add(4, 5) // 调用 add 函数,等待返回值完成后再赋值给 t

    赋值注意事项

    display() // 正确
    t := display() // 错误:无返回值无法赋值
    result := divide(10, 3) // 错误:返回多个值用一个变量接收
    quotient, remainder := divide(10, 3) // 正确

    3.5. 同步调用

    • 函数调用为 同步操作:必须等函数执行完成,返回结果后才能进行后续操作。
    t := add(4, 5) // 等待 add 函数执行完毕
    fmt.Println(t) // 打印返回值 t

    3.6. 多次调用的独立性

    • 同一个函数可以多次调用,每次调用互不影响。
    fmt.Println(add(2, 3)) // 输出 5
    fmt.Println(add(4, 6)) // 输出 10

    3.7. 调用的基本原则

    • 函数调用前,函数必须被定义,否则会导致编译错误:
    // 正确示例
    func add(x int, y int) int {return x + y
    }
    result := add(4, 5) // 调用时,函数已被定义

    8. 好习惯好习惯

    在调用函数时,确保函数已经被正确定义。

    本篇文章主要介绍了 Go 语言中函数的基本概念,重点帮助你理清 Go 函数的结构与使用方式,为进一步深入学习和实践 Go 函数的应用打下基础。如果你是 Go 语言的初学者,还不熟悉函数的使用,不必担心。掌握了函数的基本原理后,我将继续分享更多的函数编程技巧,帮助你逐步提升并熟练应用这些技能。

    欢迎阅读,希望这篇文章能对你有所帮助。

    相关文章:

    3. Go函数概念

    在 Go 语言中&#xff0c;函数被称为一等公民&#xff08;First-Class Citizens&#xff09;&#xff0c;意味着函数可以像其他数据类型&#xff08;如整数、字符串、结构体等&#xff09;一样作为变量传递、返回、赋值等。这使得 Go 在编程时具备了极大的灵活性。 1、函数概念…...

    python-44-嵌入式数据库SQLite和DuckDB

    文章目录 1 SQLite1.1 世界上最流行的数据库1.1 SQLite简介1.2 插入语句1.3 查询数据1.4 更新数据1.5 删除数据2 DuckDB2.1 DuckDB简介2.2 DuckDB与Python结合使用2.2.1 创建表2.2.2 分析语句2.2.3 导出为parquet文件2.3 Windows中使用DuckDB3 参考附录1 SQLite Python的一个特…...

    使用 Java 和 FreeMarker 实现自动生成供货清单,动态生成 Word 文档,简化文档处理流程。

    在上一篇博客中主要是使用SpringBootApache POI实现了BOM物料清单Excel表格导出&#xff0c;详见以下博客&#xff1a; Spring Boot Apache POI 实现 Exc&#xff08;&#xff09;el 导出&#xff1a;BOM物料清单生成器&#xff08;支持中文文件名、样式美化、数据合并&#…...

    R语言的并发编程

    R语言的并发编程 引言 在现代计算中&#xff0c;如何有效地利用计算资源进行数据处理和分析已成为一个重要的研究方向。尤其在大数据时代&#xff0c;数据量的急剧增加让单线程处理方式显得力不从心。为了解决这一问题&#xff0c;各种编程语言都开展了并发编程的研究和应用。…...

    音乐播放器实现:前端HTML,CSS,JavaScript综合大项目

    音乐播放器实现:前端HTML&#xff0c;CSS&#xff0c;JavaScript综合大项目 项目概述项目视图效果一、侧边栏相关代码&#xff08;一&#xff09;HTML代码&#xff08;二&#xff09;css代码 二、登录页面&#xff08;一&#xff09;HTML代码&#xff08;二&#xff09;css代码…...

    PixArt--alpha笔记

    PixArt-α 是华为发布的文生图模型。 训练策略分解&#xff1a;设计三个不同训练步骤&#xff0c;分别优化像素依赖、文本图像对齐和图像审美质量。高效T2I transformer&#xff1a;将 cross-attention融入 Diffusion Transformer (DiT)注入文本条件&#xff0c;简化计算密集的…...

    内网渗透测试工具及渗透测试安全审计方法总结

    1. 内网安全检查/渗透介绍 1.1 攻击思路 有2种思路&#xff1a; 攻击外网服务器&#xff0c;获取外网服务器的权限&#xff0c;接着利用入侵成功的外网服务器作为跳板&#xff0c;攻击内网其他服务器&#xff0c;最后获得敏感数据&#xff0c;并将数据传递到攻击者&#xff0…...

    java工程学习步骤

    1、安装idea&#xff0c;安装maven&#xff0c;mysql数据库 2、创建一个多maven的springboot的项目&#xff0c;可以正常启动以及可以访问web页面 3、引入日志使用slflogbck进行日志打印&#xff0c;同时封装统一的日志打印工具&#xff0c;idea安装maven analyzer工具&#…...

    使用Flask和Pydantic实现参数验证

    使用Flask和Pydantic实现参数验证 1 简介 Pydantic是一个用于数据验证和解析的 Python 库&#xff0c;版本2的性能有较大提升&#xff0c;很多框架使用Pydantic做数据校验。 # 官方参考文档 https://docs.pydantic.dev/latest/# Github地址 https://github.com/pydantic/pyd…...

    LabVIEW 蔬菜精密播种监测系统

    在当前蔬菜播种工作中&#xff0c;存在着诸多问题。一方面&#xff0c;播种精度难以达到现代农业的高标准要求&#xff0c;导致种子分布不均&#xff0c;影响作物的生长发育和最终产量&#xff1b;另一方面&#xff0c;对于小粒径种子&#xff0c;传统的监测手段难以实现有效监…...

    统信UOS系统安装redis

    1、yum引入redis yum install redis2、创建日志文件夹 mkdir -p /var/log/redis mkdir -p /var/lib/redis3、添加用户 useradd redis -s /usr/sbin/nologin4、文件夹赋权限 chown -R redis:root /var/log/redis chown redis:root /etc/redis.conf chown -R redis:root /var…...

    课程如何抵御脑腐的冲击

    课程需要引导学生逐步形成深度思考的能力&#xff0c;才有可能抵御‘Brain Rot’&#xff0c;否则都不会取得任何改善。 一步步失去的思维力&#xff0c;需要一步步引导恢复&#xff0c;类似康复训练。这是一个非常长期而艰辛但又十分有意义和有价值的工作。 这是一篇类似工作转…...

    2.4 如何学习表示学习(Representation Learning)

    如何学习表示学习(Representation Learning) 学习表示学习(Representation Learning)是理解和掌握机器学习、深度学习以及人工智能的关键一步。表示学习主要关注从原始数据中提取有效的特征或表示,使得模型能够高效处理和理解复杂的数据。以下是一些系统的方法,帮助你一…...

    介绍下常用的前端框架及时优缺点

    以下是一些常用的前端框架及其优缺点介绍&#xff1a; React • 优点 • 组件化架构&#xff1a;可构建可复用的UI组件&#xff0c;提高开发效率和组件可维护性。 • 虚拟DOM&#xff1a;高效更新页面&#xff0c;减少直接操作DOM的性能开销。 • 灵活性和可扩展性&#xf…...

    Rust 猜数字游戏:从 0 到 1 的完整实现与深入解析

    一、项目概述 1.1 为什么选择“猜数字”&#xff1f; “猜数字”是编程入门中非常经典的一个项目。它看似简单&#xff0c;却能很好地展示&#xff1a; 输入输出 (I/O)&#xff1a;提示用户输入并读取内容。随机数&#xff1a;每次运行生成一个随机值&#xff0c;保证游戏的…...

    使用C语言实现栈的插入、删除和排序操作

    栈是一种后进先出(LIFO, Last In First Out)的数据结构,这意味着最后插入的元素最先被删除。在C语言中,我们可以通过数组或链表来实现栈。本文将使用数组来实现一个简单的栈,并提供插入(push)、删除(pop)以及排序(这里采用一种简单的排序方法,例如冒泡排序)的操作示…...

    职场的三个阶段及其应对规划:以前端开发工程师为例

    作为职场人士&#xff0c;特别是 IT 开发工程师&#xff0c;职业生涯的发展路径往往伴随着不同的挑战与机遇。一般而言&#xff0c;职场生涯可以划分为三个阶段&#xff1a;找工作阶段、有工作阶段以及职业转型阶段。每个阶段都有其特定的特征和应对策略&#xff0c;下面我将从…...

    【人工智能】:搭建本地AI服务——Ollama、LobeChat和Go语言的全方位实践指南

    前言 随着自然语言处理&#xff08;NLP&#xff09;技术的快速发展&#xff0c;越来越多的企业和个人开发者寻求在本地环境中运行大型语言模型&#xff08;LLM&#xff09;&#xff0c;以确保数据隐私和提高响应速度。Ollama 作为一个强大的本地运行框架&#xff0c;支持多种先…...

    蓝桥杯训练—斐波那契数列

    文章目录 一、题目二、解析三、代码 一、题目 求100以内的斐波那契数列 斐波那契数列&#xff08;Fibonacci sequence&#xff09;&#xff0c;又称黄金分割数列 &#xff0c;因数学家莱昂纳多斐波那契&#xff08;Leonardo Fibonacci&#xff09;以兔子繁殖为例子而引入&…...

    TensorFlow DAY3: 高阶 API(Keras,Estimator)(完)

    TensorFlow 作为深度学习框架&#xff0c;当然是为了帮助我们更便捷地构建神经网络。所以&#xff0c;本次实验将会了解如何使用 TensorFlow 来构建神经网络&#xff0c;并学会 TensorFlow 构建神经网络的重要函数和方法。 知识点 Keras 顺序模型Keras 函数模型Keras 模型存储…...

    复健第二天之[MoeCTF 2022]baby_file

    打开题目在线环境可以看到&#xff1a; 感觉要用伪协议去求&#xff0c;但是我们并不知道flag的位置&#xff0c;这里我选择用dirsearch去扫一下&#xff1a; 最像的应该就是flag.php了 于是就构建payload&#xff1a; **?filephp://filter/convert.base64-encode/resource…...

    【QT用户登录与界面跳转】

    【QT用户登录与界面跳转】 1.前言2. 项目设置3.设计登录界面3.1 login.pro参数3.2 界面设置3.2.1 登录界面3.2.2 串口主界面 4. 实现登录逻辑5.串口界面6.测试功能7.总结 1.前言 在Qt应用程序开发中&#xff0c;实现用户登录及界面跳转功能是构建交互式应用的重要步骤之一。下…...

    【docker踩坑记录】

    docker踩坑记录 踩坑记录(持续更新中.......)docker images 权限问题 踩坑记录(持续更新中…) docker images 权限问题 permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Head "http://%2Fvar%2Frun%2Fdocker.s…...

    【Azure 架构师学习笔记】- Azure Function (2) --实操1

    本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Function 】系列。 接上文【Azure 架构师学习笔记】- Azure Function (1) --环境搭建和背景介绍 前言 上一文介绍了环境搭建&#xff0c;接下来就在本地环境下使用一下。 环境准备 这里我下载了最新的VS studio&…...

    豆包MarsCode:构造特定数组的逆序拼接

    问题描述 思路分析 1. 数组的组成&#xff1a; 我们要根据 i 的不同值拼接出不同长度的子数组。对于每个 i 从 1 到 n&#xff0c;我们要把数字从 n 逆序到 i 拼接成一个子数组。 例如&#xff0c;当 i 1 时&#xff0c;拼接 [n, n-1, ..., 1]。当 i 2 时&#xff0c;拼接 …...

    14-美妆数据分析

    前言 美妆数据分析可以帮助企业更好地理解市场趋势、客户偏好和产品表现 import pandas as pd import numpy as np 一、数据清洗 data pd.read_csv(rC:\Users\B\Desktop\美妆数据.csv,encodinggbk) data.head()data.info()data data.drop_duplicates(inplaceFalse) data.r…...

    新阿里云买服务器配置需手动配置80端口

    新买阿里云服务器需手动配置80&#xff0c;端口才可以访问nginx CentOS系统 安装nginx 1. 安装 Nginx yum install nginx 2. 启动 Nginx 服务 systemctl start nginx 3. 修改默认网页 cd /usr/share/nginx/ echo "666" >index.html cat index.html 访问ngin最后…...

    Mysql--实战篇--连接泄漏问题(什么是连接泄漏,未关闭SqlSession,长事务处理,连接池管理等)

    1、什么是连接泄漏&#xff08;Connection Leak&#xff09;&#xff1f; 连接泄漏是指应用程序未能正确关闭数据库连接&#xff0c;导致连接池中的可用连接逐渐减少&#xff0c;最终耗尽所有连接。连接泄漏可能会导致新的请求无法获得连接&#xff0c;进而引发服务中断。 连…...

    【ESP32】ESP-IDF开发 | WiFi开发 | AP模式 + 基站连接例程

    1. 简介 前面一篇讲了WiFi的基站模式&#xff0c;演示了怎么编程连接AP&#xff0c;所以这一篇讲一讲AP模式&#xff0c;ESP32作AP&#xff0c;让其他的设备连接自己。 1.1 DHCP 这里需要补充一个知识点——DHCP服务器。当基站连接一个AP时&#xff0c;会被分配一个IP&#xf…...

    Ubuntu升级Linux内核教程

    本文作者CVE-柠檬i: CVE-柠檬i-CSDN博客 本文使用的方法是dpkg安装&#xff0c;目前版本为5.4.0-204&#xff0c;要升级成5.8.5版本 下载 下载网站&#xff1a;https://kernel.ubuntu.com/mainline/ 在该网站下载deb包&#xff0c;选择自己想要升级的版本&#xff0c;这里是5…...

    关于AWS网络架构的思考

    目录&#xff1a; AWS概述 EMR Serverless AWS VPC及其网络 关于AWS网络架构的思考 在AWS K8S中部署的业务&#xff0c;有不同的流量路径。 流量进入 客户端请求 普通的客户端流量流向从前到后是: 客户端公司网关(endpoint)业务的Endpoint ServiceLoad Balancers(监听80和…...

    Pandas库的常用内容归纳

    Pandas 是一个强大的 Python 数据分析库&#xff0c;提供了大量用于数据处理和分析的功能。以下是一些 Pandas 库中常用的功能&#xff1a; 数据创建和操作 Series 和 DataFrame&#xff1a;创建一维的 Series 和二维的 DataFrame 对象。数据导入&#xff1a;从 CSV、Excel、…...

    【错误解决方案记录】spine3.8.75导出的数据使用unity-spine3.8插件解析失败报错的解决方案

    报错信息 Exception: Unsupported skeleton data, please export with a newer version of Spine. Spine.SkeletonBinary.ReadSkeletonData (System.IO.Stream file) (at Assets/Spine/Runtime/spine-csharp/SkeletonBinary.cs:132) Spine.Unity.Editor.AssetUtility.AddRequi…...

    Python与PyTorch的浅拷贝与深拷贝

    1.Python赋值操作的原理 在python中&#xff0c;x something&#xff0c; 这样的赋值操作&#xff0c;准确的理解是&#xff1a;给存储something建立一个索引x (即存储地址)&#xff0c; x通过访问something的存储内容&#xff0c;获得something的值。 在下面代码中&#xff…...

    【unity进阶篇】弧度、角度和三角函数(Mathf),并实现类似蛇的运动

    考虑到每个人基础可能不一样&#xff0c;且并不是所有人都有同时做2D、3D开发的需求&#xff0c;所以我把 【零基础入门unity游戏开发】 分为成了C#篇、unity通用篇、unity3D篇、unity2D篇。 【C#篇】&#xff1a;主要讲解C#的基础语法&#xff0c;包括变量、数据类型、运算符、…...

    【分类】【损失函数】处理类别不平衡:CEFL 和 CEFL2 损失函数的实现与应用

    引言 在深度学习中的分类问题中&#xff0c;类别不平衡问题是常见的挑战之一。尤其在面部表情分类任务中&#xff0c;不同表情类别的样本数量可能差异较大&#xff0c;比如“开心”表情的样本远远多于“生气”表情。面对这种情况&#xff0c;普通的交叉熵损失函数容易导致模型…...

    支持selenium的chrome driver更新到132.0.6834.83

    最近chrome释放新版本&#xff1a;132.0.6834.83 如果运行selenium自动化测试出现以下问题&#xff0c;是需要升级chromedriver才可以解决的。 selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only su…...

    IO模型与NIO基础二

    抽象基类之二 FilterInputStream FilterInputStream 的作用是用来“封装其它的输入流&#xff0c;并为它们提供额外的功能”。 它的常用的子类有BufferedInputStream和DataInputStream。 (1) BufferedInputStream的作用就是为“输入流提供缓冲功能&#xff0c;以及mark()和res…...

    什么是FPGA开发?

    FPGA&#xff08;Field-Programmable Gate Array&#xff09;&#xff0c;即现场可编程门阵列&#xff0c;是一种通过编程方式实现特定功能的集成电路。与传统的ASIC&#xff08;专用集成电路&#xff09;相比&#xff0c;FPGA具有灵活性高、开发周期短、成本相对较低等优势&am…...

    寻找川味:成都九尺板鸭

    寻找川味:成都九尺板鸭 在四川这片美食的天堂里,隐藏着无数令人垂涎的传统名吃。其中,成都九尺板鸭以其悠久的历史、独特的制作工艺和令人难以抗拒的美味,成为了许多食客心中不可错过的地道川味。 历史渊源 九尺板鸭,顾名思义,因主产于四川省成都市彭州市九尺镇而得名。早在5…...

    Object常用的方法及开发中的使用场景

    在前端开发中&#xff0c;Object 对象提供了许多常用的方法&#xff0c;这些方法帮助我们操作对象的属性和结构。以下是常用的 Object 方法及其功能简要说明&#xff1a; 对象常用的方法 1. 创建对象 Object.create(proto[, propertiesObject]) 创建一个具有指定原型对象和属性…...

    ElasticSearch上

    安装ElasticSearch Lucene&#xff1a;Java语言的搜索引擎类库&#xff0c;易扩展&#xff1b;高性能&#xff08;基于倒排索引&#xff09;Elasticsearch基于Lucene&#xff0c;支持分布式&#xff0c;可水平扩展&#xff1b;提供Restful接口&#xff0c;可被任何语言调用Ela…...

    基于SpringCloud的广告系统设计与实现(二)

    一、common公共模块 1.common的作用 通用的代码、配置不应该散落在各个业务模块中&#xff0c;不利于维护与更新 一个大的系统&#xff0c;响应对象需要统一外层格式 各种业务设计与实现&#xff0c;可能会抛出各种各样的异常&#xff0c;异常信息的收集也应该做到统一 2.统…...

    2011年西部数学奥林匹克的几何题

    2011G1 证明: 显然, O O O, I I I, F F F 共线, E I / / M O EI//MO EI//MO, △ E I F ∼ △ M O F \triangle EIF \sim \triangle MOF △EIF∼△MOF. 进而 E F / M F r 1 / r 2 EF/MFr_1/r_2 EF/MFr1​/r2​. ( r 1 (r_1 (r1​ 为圆 I I I 的半径, r 2 r_2 r2​ 为…...

    (一)afsim第三方库编译

    注意&#xff1a;防止奇怪的问题&#xff0c;源码编译的路径最好不要有中文&#xff0c;请先检查各文件夹名 AFSIM版本 Version&#xff1a; 2.9 Plugin API Version&#xff1a; 11 软件环境 操作系统&#xff1a; Kylin V10 SP1 项目构建工具: cmake-3.26.0-linux-aarch6…...

    boss直聘 __zp_stoken__ 分析

    声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向过程 py代码 import execjs imp…...

    python matplotlib绘图,显示和保存没有标题栏和菜单栏的图像

    目录 1. 使用plt.savefig保存无边框图形 2. 显示在屏幕上&#xff0c;并且去掉窗口的标题栏和工具栏 3. 通过配置 matplotlib 的 backend 和使用 Tkinter&#xff08;或其他图形库&#xff09; 方法 1&#xff1a;使用 TkAgg 后端&#xff0c;并禁用窗口的工具栏和标题栏 …...

    AI-Talk开发板之替换唤醒词

    一、说明 聆思提供的Demo唤醒词默认为"小美,小美"&#xff0c;V2.4及之后的SDK支持替换唤醒词&#xff0c;聆思提供了在线工具生成唤醒词固件。 工具&#xff1a;tool.listenai.com/audio-custom/products/ 官方博客教程&#xff1a;实操给桌面AI语音助理&#xff…...

    C#实现字符串反转的4种方法

    见过不少人、经过不少事、也吃过不少苦&#xff0c;感悟世事无常、人心多变&#xff0c;靠着回忆将往事串珠成链&#xff0c;聊聊感情、谈谈发展&#xff0c;我慢慢写、你一点一点看...... 1、string.Reverse 方法 string content "Hello World";string reverseStri…...

    【MySQL索引:B+树与页的深度解析】

    文章目录 MySQL索引&#xff1a;B树与页的深度解析1. 索引使用的数据结构——B树1.1 B树介绍1.2 B树的特点1.3 B树和B树的对比 2. MySQL中的页2.1 页的介绍2.2 页主体2.3 页目录2.4 B树在MySQL索引中的应用 MySQL索引&#xff1a;B树与页的深度解析 在MySQL数据库中&#xff0…...