golang语言中import ( "gorm.io/gorm" "sort" "strconv" "time" )分别是什么

时间: 2024-04-15 12:23:39 浏览: 157

在Go语言中,import关键字用于导入其他包。下面是对于你提到的几个包的介绍:

  1. "gorm.io/gorm":gorm是一个Go语言的ORM(对象关系映射)库,它提供了一种简单且强大的方式来操作数据库。使用gorm可以方便地进行数据库的增删改查操作,支持多种数据库,如MySQL、PostgreSQL等。

  2. "sort":sort包提供了对切片和用户自定义集合进行排序的函数。它包含了各种排序算法的实现,如快速排序、堆排序等。通过sort包,你可以对切片进行升序或降序排序。

  3. "strconv":strconv包提供了字符串和基本数据类型之间的相互转换函数。它包含了将字符串转换为整数、浮点数、布尔值等的函数,以及将基本数据类型转换为字符串的函数。

  4. "time":time包提供了时间相关的函数和类型。它可以用于获取当前时间、格式化时间、计算时间差等操作。time包还提供了定时器和计时器的功能,可以用于实现定时任务或者性能测试。

相关问题

golang gorm 某一个结构的Version 为 long long ,如何在通过Gin 返回时,将Version字段转为 string

可以通过结构体的方法实现将 Version 字段转为 string 类型,然后在 Gin 的返回中使用该方法返回的字符串。

例如,假设结构体为:

type User struct {
    ID      uint   `gorm:"primaryKey"`
    Name    string `gorm:"not null"`
    Version int64  `gorm:"not null"`
}

可以定义一个方法 VersionString() 将 Version 转为 string:

func (u *User) VersionString() string {
    return fmt.Sprintf("%d", u.Version)
}

然后在 Gin 的返回中使用该方法:

router.GET("/user/:id", func(c *gin.Context) {
    id, err := strconv.ParseUint(c.Param("id"), 10, 64)
    if err != nil {
        c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid user ID"})
        return
    }

    var user User
    result := db.First(&user, id)
    if result.Error != nil {
        c.JSON(http.StatusNotFound, gin.H{"error": "User not found"})
        return
    }

    c.JSON(http.StatusOK, gin.H{
        "id":      user.ID,
        "name":    user.Name,
        "version": user.VersionString(),
    })
})

golang gorm 某一个结构的Version 为 long long ,如何在通过Gin 返回时,通过json tag,将Version字段转为 string

可以通过在结构体字段上添加 json tag 来指定返回的 JSON 字段名以及类型转换方式。具体实现方式如下:

type User struct {
    ID      uint   `gorm:"primaryKey" json:"id"`
    Name    string `gorm:"not null" json:"name"`
    Version int64  `gorm:"not null" json:"version,string"`
}

在上面的结构体定义中,Version 字段上的 json tag 指定了返回的 JSON 字段名为 version,并且将 int64 类型转为 string 类型。

然后在 Gin 的返回中直接返回该结构体即可:

router.GET("/user/:id", func(c *gin.Context) {
    id, err := strconv.ParseUint(c.Param("id"), 10, 64)
    if err != nil {
        c.JSON(http.StatusBadRequest, gin.H{"error": "Invalid user ID"})
        return
    }

    var user User
    result := db.First(&user, id)
    if result.Error != nil {
        c.JSON(http.StatusNotFound, gin.H{"error": "User not found"})
        return
    }

    c.JSON(http.StatusOK, user)
})

在上面的代码中,c.JSON(http.StatusOK, user) 直接返回了 User 结构体,Gin 会自动将其转为 JSON 格式并返回给客户端。在转换过程中,Version 字段会被转为字符串类型。

向AI提问 loading 发送消息图标

相关推荐

pptx
制造业发展趋势 工业互联成为现代制造企业的创新战斗力,体现在移动互联助力高效销服、全球互联支持协同研发、机器互联实现精细生产等方面。 举例来说,《十二生肖》电影需求快速响应,实现1分钟模型实物化;国商飞从一厂一所一型号到全球协同共创新;华菱钢铁通过全流程在线实时质量监控,使高端汽车板成材率提升10%。 敏捷制造解决方案 现代制造业之痛:“多”元挑战 客户沟通脱节:需求反复确认。 效率下滑:业务流多且难识别,网元多配置繁杂,传感线多布线难,设备物料多监管难,分支机构不互通,研发各自为战,创新不足,离线业务多,移动办公效率低,系统多整合难协同繁,人机不互通,生产过程不直观,成本攀升,信息孤岛多,可靠性难保障。 “多”元挑战解决之道:精细化、移动化,协作化 精细化:管理精细化到业务级,网元融合集设备配置,关键业务双活,两地三心保障业务高可靠,实现20平方+厂区覆盖,人员物资定位精度小于5m。 移动化:通过各种移动化方案提升效率,如烟草四员定位移动办公解决方案实现四员位置10m定位,工作状态实时呈现,随时随地沟通协作,提升四员业务效率80%,且有四重防护保障业务数据零泄露;无线工厂解决方案实现超远LTE 20km²厂区覆盖,100Mbps高速传输,危险区域网络直达,3m高精度WIFI人员物资安全定位。 协作化:制造业融合办公解决方案实现统一语音调度,多业务单点登录,多终端一致体验;制造云数据心解决方案保障关键业务永续,实现3000km“IP+光”协同,两地三心业务容灾,高可靠。 敏捷制造解决方案全景图 办公区:实现协作化,通过制造业融合办公解决方案提升办公效率和体验。 H.Q(总部):涉及协作化和精细化,包括制造云数据心解决方案保障关键业务,精细化网络解决方案实现关键业务流标识、故障实时定位、集配置,降低投资30%。 集团数据心:关注精细化,通过精细化网络解决方案优化网络管理。 工厂A:涵盖精细化、移动化、协作化,包括生产管理网、生产执行网,采用WLAN、eLTE等技术,实现高效的生产管理与执行。 具体问题及解决措施 业务流多:识别与故障定位难题 问题:业务流难识别,关键业务无标识,80%带宽被非核心业务挤占,影响ERP等核心业务运行;现有检测报文无法100%模拟业务流路径,导致ERP系统时断时续,瞬现故障难定位。 解决之道:通过iPCA标签随业务流标记,实现业务流识别和故障实时定位,应用监控心展示故障信息、分应用流量分析、业务流路径统计,监控客户端进行故障分析。 网元多:配置繁杂与成本攀升 问题:AC、BRAS、交换机等网元类型多且相互独立,增加投资和维护难度,100+接入点单独配置,运维压力大。 解决之道:融合设备,集配置,如通过SVF技术实现设备的融合与简化配置。 系统多:难协同、难整合、生产效率低下 问题:多系统账号密码不统一,业务切换需多次输入;多系统多号码导致找人困难、操作复杂;老系统设备厂家多,连不通,维护难,投资大。 解决之道:利用eSDK整合业务体验,实现多终端、多系统一致的客户体验,企业级语音核心解决多号码问题,IP兼容TDM保护客户投资。 信息孤岛多:资源利用率低,管理复杂,持续改善困难 问题:IT设施独立建设使用,资源孤岛,平均利用率低;运维复杂,管理分散,能耗占比大;业务调整响应缓慢,持续改善困难。 解决之道:统一规划,构建IT基础设施共享资源池,资源按需分配,动态调整,保障生产高峰业务对资源的需求,提升资源利用率至70%;采用无阻塞架构,保障核心业务毫秒级响应;高效运维,统一管理,节能减耗,提升维护效率,降低PUE值,减少电费支出;高效部署,敏捷运营,模块化设计,按需部署,缩减施工周期,实现资源弹性调度,业务快速上线。 生产物料多:贵重物资监控存漏洞,生产物料难管控 问题:贵重物资仓库存在物资丢失问题,车间物料需求多,配送顺序、时间要求严格,管控不当造成临时停工,损失巨大,监控手段缺失。 解决之道:采用WIFI实时定位方案,通过无线TAG位置信息管理,与WMS深度集成,实现快速智能告警,定位精度3~5米,速度5秒。 离线业务多:效率无法提高 问题:以商烟四员为例,离线业务多导致效率低下。 解决之道:烟草四员移动互联方案,通过四员APP调用eSDK功能,实现实时定位、即时信息交互、移动安全,提升工作效率。 传感线多:线缆易腐蚀,难布线 问题:环境监控心线缆受高温、有毒气体腐蚀严重,监控通道受阻,监控全断;炼铁车间高温,酸洗车间大量酸性气体排放,线缆易腐蚀;监控点多且散,布线成本高。 解决之道:LTE生产物联方案,通过无线传感实现视频、环境数据的实时采集与传输,减少布线,支持多点采集上传,防爆区域CPE做隔爆处理,环境监控与EMS、MES联动,实现能源、工艺快速微调。 以上内容全面展示了华为敏捷制造解决方案如何应对现代制造业的多元挑战,通过精细化、移动化、协作化等手段,助力制造企业提升效率、降低成本、增强可靠性,实现敏捷制造。
pdf

大家在看

recommend-type

基于自适应权重稀疏典范相关分析的人脸表情识别

为解决当变量个数离散时,典型的相关分析方法不能称为一个稳定模型的问题,提出了一种基于自适应权值的稀疏典型相关分析的人脸表情识别方法。系数收敛的约束,使基向量中的某些系数收敛为0,因此,可以去掉一些对表情识别没有用处的变量。同时,通常由稀疏类别相关分析得出,稀疏权值的选择是固定的在Jaffe和Cohn-Kanade人脸表情数据库上的实验结果,进一步验证了该方法的正确性和有效性。
recommend-type

《极品家丁(七改版)》(珍藏七改加料无雷精校全本)(1).zip

《极品家丁(七改版)》(珍藏七改加料无雷精校全本)(1).zip
recommend-type

hspice和python互联

hspice和python互联
recommend-type

一个旨在把alpha go算法运用在中国象棋上的项目.rar

这个项目受到alpha go zero的启发,旨在训练一个中等人类水平或高于中等人类水平的深度神经网络,来完成下中国象棋的任务。目前这个项目仍在积极开发中,并且仍然没有完成全部的开发,欢迎pull request 或者star。 然而受到计算资源限制,这样庞大的任务不可能在一台机器上完成训练,这也是我完成了分布式训练代码的原因,希望各位小伙伴能够加入,一起训练这样一个中国象棋alpha go的网络。 我的估计是达到4000~5000elo分数的时候深度网络可以达到目标,现在深度网络已经到了1400分的边缘,达到人类中上水平的目标并不是不可能的,因为计算资源限制,我希望能用较少计算资源来进行整个训练,所以前几天我加入了一些人类棋谱,这也是elo曲线中跳跃的折线的原因。
recommend-type

tesseract-ocr中文数据包chi_sim.traineddata.gz

tesseract-ocr中文数据包chi_sim.traineddata.gz,训练数据包。

最新推荐

recommend-type

Go语言中io.Reader和io.Writer的详解与实现

在Go语言中,`io.Reader`和`io.Writer`是两个非常基础且重要的接口,用于处理输入输出(I/O)操作。它们定义在`io`包中,是构建其他复杂I/O操作的基础。 `io.Reader`接口定义了一个单个方法: ```go type Reader ...
recommend-type

详解golang避免循环import问题(“import cycle not allowed”)

在Golang中,循环import(import cycle)是一个常见的编译错误,它发生在两个或多个包之间形成一个相互依赖的环状引用。这种错误通常源于不合理的包设计或接口定义,导致包之间的耦合度过高。当编译器检测到import ...
recommend-type

深入解析网络原理RFC文档全集

网络原理RFC文档详解的知识点可以分为以下几部分: ### 1. 网络协议基础 网络协议是计算机网络中进行数据交换而建立的规则、标准或约定。在网络原理的学习中,协议是非常重要的部分。RFC文档(Request For Comments,请求评论)是由互联网工程任务组(IETF)发布的一系列备忘录,记录了各种互联网协议的设计、行为、研究和创新。了解RFC文档可以帮助我们更深入地理解网络原理,比如IP、TCP、UDP等常见协议的工作机制。 ### 2. RFC文档的结构和内容 RFC文档通常包括标题、状态(标准、草案等)、日期、作者、摘要、目录、正文和参考文献等部分。文档详细解释了协议的各个方面,包括协议的设计目标、数据格式、状态机、操作过程、安全性考虑等。对于网络工程师和开发者而言,RFC文档是学习和开发网络应用的重要参考资料。 ### 3. 网络协议族和RFC 网络协议按照功能和层次可以分为不同的协议族,例如TCP/IP协议族。RFC文档涵盖了这一协议族中几乎所有的协议,包括但不限于以下内容: #### 3.1 网络层协议 - **IP协议(RFC 791)**:定义了互联网中数据包的格式和路由方式。 - **ICMP协议(RFC 792)**:用于在IP主机、路由器之间传递控制消息。 - **ARP协议(RFC 826)**:地址解析协议,将网络层地址解析成链路层地址。 #### 3.2 传输层协议 - **TCP协议(RFC 793)**:传输控制协议,提供面向连接的、可靠的数据传输服务。 - **UDP协议(RFC 768)**:用户数据报协议,提供无连接的、不可靠的传输服务。 #### 3.3 应用层协议 - **HTTP协议(RFC 2616等)**:超文本传输协议,用于万维网数据传输。 - **FTP协议(RFC 959)**:文件传输协议,用于文件的上传和下载。 - **SMTP协议(RFC 5321)**:简单邮件传输协议,用于邮件发送。 - **DNS协议(RFC 1035)**:域名系统,用于将域名转换成IP地址。 ### 4. RFC文档的应用和实践 网络工程师、开发人员、系统管理员和其他IT专业人员通常需要阅读RFC文档来了解特定技术的具体实现细节。例如,设计一个网络服务时,需要参考相关协议的标准RFC来确保服务的兼容性和可靠性。在遇到网络问题时,RFC文档也可以提供权威的故障排除信息。 ### 5. 如何获取和理解RFC文档 RFC文档是公开的,并且可以从互联网工程任务组(IETF)的官方网站免费获取。对于非专业人员来说,直接阅读RFC文档可能会有一定难度,因为它们通常包含大量的技术术语和细节描述。为了更好地理解和应用RFC文档,可以通过网络课程、专业书籍和实践操作相结合的方式来学习。 ### 6. RFC文档对网络研究的影响 RFC文档是网络技术研究的基础,它们不仅提供了网络协议的详细规范,而且还有助于新的网络技术和应用的发现。学术研究者和工程师通过分析和改进现有的RFC标准,能够推动网络技术的进步。 通过以上对网络原理RFC文档的详细介绍,我们可以看出,RFC文档不仅为网络行业提供了一个开放、共享和权威的知识库,而且它也是网络技术不断进步和发展的基石。掌握RFC文档的知识,对于从事网络相关工作的专业人士来说,无疑是一种重要的技能和财富。
recommend-type

【PLC流水灯设计全面攻略】:从理论到实践,专家带你实现零故障控制系统

# 摘要 本文系统介绍了PLC(可编程逻辑控制器)流水灯的设计、硬件接线技术、编程实现及深入应用。首先,概述了流水灯设计的理论基础和PLC硬件的基本组成、工作原理以及硬件选型与配置。接着,重点探讨了PLC编程基础、控制逻辑的设计、编程语言的选择与使用,以及流水灯控制程序的编写与调试。此外,文章还分析了特殊流水灯效果的实现、流水灯在自动化生产线的应用案例,以及故障诊断与维护。最后,针对当前技术趋势和挑战,展望了PLC流水灯设计的创新方向,包括智能控制系统的融合与面向未来的系统设计展望。 # 关键字 PLC;流水灯设计;硬件接线;编程实现;故障诊断;自动化生产线 参考资源链接:[基于PLC的流
recommend-type

针对你range 代码生成效果图

在Python中,`range()` 函数用于生成一系列数字,常与其他循环结构一起使用来完成迭代操作。虽然 `range()` 本身并不直接生成“效果图”,但我们可以将它和数据可视化库(如 Matplotlib 或 Seaborn)结合起来,创建基于范围值的数据分布图表。 下面是一个简单的例子,展示如何通过 Python 的 `matplotlib.pyplot` 模块配合 `range()` 来绘制一条直线并标记点的位置: ```python import matplotlib.pyplot as plt # 使用 range() 创建 x 轴数值序列 x_values = list(
recommend-type

自定义圆角ListView布局及点击效果解析

标题“CornerListviewDemo”指的是一个Demo程序,这个Demo展示了一种对ListView组件进行定制的实现,旨在根据ListView中项的多少以及布局,动态改变列表项的角的形状。这个Demo的开发和实现涉及到Android开发中的UI定制、布局文件编写以及可能的Java或Kotlin编程。 在描述中提到的行为是,ListView在不同数据量下展现不同的视觉效果。具体来说,当ListView只有一个列表项时,它会表现为四个角都是圆角的卡片式布局。当有两条列表项时,第一条列表项的上边角会是圆角,而第二条列表项的下边角会是圆角。最后,当列表中有多条记录时,除了第一条和最后一条列表项的首尾是圆角,中间的列表项将不再具有圆角,呈现出常规的矩形形状。这种设计可以为用户提供清晰的视觉层次感,使得界面看起来更为美观。 从标签“圆角 Listview 自定义 点击效果 布局”中,可以提取出以下关键知识点: 1. 圆角效果的实现:在Android中实现圆角效果,通常可以通过XML中的shape资源来定义。例如,可以在drawble资源文件中定义一个矩形形状,并通过设置其corners属性来赋予圆角。开发者还可以通过编程方式在代码中动态地绘制圆角,例如使用canvas类的drawRoundRect方法。 2. ListView的自定义:ListView是Android中用于展示滚动列表的基本组件。开发者可以通过自定义Adapter来改变ListView的每项布局。在本Demo中,需要根据列表项的数量来改变ListView中每个项的圆角属性,这通常意味着需要在Adapter的getView()方法中实现逻辑,来根据条件判断并设置相应的布局属性。 3. 点击效果:ListView中的每个列表项除了展示数据外,还可以响应用户的点击事件。在Android中,为ListView设置点击效果,通常需要为ListView设置一个OnItemClickListener。点击效果可以通过设置背景资源(比如按压状态的背景)或者通过定义动画资源来实现。 4. 布局的理解和使用:在Android开发中,布局文件负责定义界面的结构。XML布局文件通过使用各种布局容器(如LinearLayout, RelativeLayout, ConstraintLayout等)来组织界面元素。自定义ListView的布局可能需要对布局结构有深入的了解,以便根据需要调整布局的属性,实现期望的视觉效果。 结合压缩包子文件名称列表中的“CornerListviewDemo”,不难推断出该文件包含了上述Demo程序的源代码或者是相关的项目文件。在该文件中,开发者可以通过查看源代码来学习和理解如何实现自定义的ListView,特别是涉及到圆角、布局定制以及点击响应等方面。 总体来说,该Demo项目对于Android开发人员来说是一个很好的学习资源,可以从中学习如何进行UI组件的定制、布局优化以及交互效果的增强。对于希望通过代码优化提升用户体验的开发者而言,该项目具有一定的参考价值。
recommend-type

【图像处理新境界】:形态学滤波与tc itk的结合使用指南

# 摘要 本文系统阐述了形态学滤波技术的理论基础、应用实践以及ITK库和tcITK框架的概述与优化。首先介绍了形态学滤波的基本操作及其高级技术,接着详细说明了如何在ITK库中集成和应用形态学滤波器,并讨论了在图像处理中的具体案例。文章还介绍了tcITK框架,它为ITK提供了扩展和性能优化,以及在特
recommend-type

watch -n 0.5 nvidia-smi

### 如何使用 `watch` 命令配合 `nvidia-smi` 实现实时监控 通过组合命令工具可以实现对 NVIDIA GPU 的实时状态监控。具体来说,`watch` 是 Linux 系统中的一个实用程序,用于定期执行指定的命令并显示其输出。当将其与 `nvidia-smi` 结合使用时,可以通过设置刷新间隔来实现实时更新。 以下是具体的实现方法: #### 使用 `watch` 和 `-n` 参数 为了使 GPU 状态每 0.5 秒刷新一次,可以运行以下命令: ```bash watch -n 0.5 nvidia-smi ``` 上述命令中,`-n 0.5` 表示每隔 0.5
recommend-type

commons-dbcp.jar 1.4版本介绍与功能概述

标题所指的知识点是关于名为commons-dbcp.jar的Java库版本1.4,这是一个开源的Java数据库连接池实现,由Apache软件基金会提供。数据库连接池是一种重要的中间件技术,用于管理数据库连接的池化资源,能够提高应用程序访问数据库的效率。Apache Commons DBCP(Database Connection Pooling)是Apache Commons项目的一部分,提供了一套完整的数据库连接池管理机制。 描述中重复提及commons-dbcp.jar可能是为了强调该文件的重要性或是文件名在上下文中多次出现。由于描述信息并未提供额外的详细信息,我们将重点关注标题所涉及的知识点。 标签中再次提及commons-dbcp.jar,这表明文档或文件系统中的标签用于关联或标识与该文件相关的所有信息,包括版本号。 文件名称列表中显示的是commons-dbcp-1.4,这意味着我们正在讨论的是这个特定版本的DBCP连接池库。通常,一个完整的压缩包文件名会包含版本号以区分不同版本。 **Apache Commons DBCP知识点详解** 1. **基础概念** Apache Commons DBCP是一个用于创建和管理数据库连接池的Java库。连接池是一种池化资源技术,它在应用程序和数据库之间维护一定数量的数据库连接。通过重用一组固定的连接来访问数据库,而不是每次需要时都建立新的连接,连接池可以提高应用程序的性能,并且减少资源消耗。 2. **功能和优势** Commons DBCP提供了一组丰富的功能,比如: - 配置连接池属性,如最小和最大连接数、连接池生命周期和验证查询等。 - 对数据库连接进行有效性检查,确保返回给用户的都是有效的连接。 - 提供多种数据库连接工厂来支持不同的数据库。 - 支持JDBC驱动程序的懒加载。 - 支持多线程访问,确保线程安全。 - 提供了扩展点来允许开发者进行自定义行为。 3. **使用场景** 当一个Java应用程序需要频繁地与数据库交互时,使用数据库连接池是非常有意义的。比如在Web应用、服务端应用、批处理程序以及需要高并发访问数据库的场合,使用连接池可以有效地减少数据库连接的建立和关闭开销,提升整体性能。 4. **连接池配置** DBCP库允许开发者通过配置文件或编程方式设置连接池参数。常用参数包括: - initialSize:初始连接数。 - minIdle:最小空闲连接数。 - maxIdle:最大空闲连接数。 - maxTotal:最大连接数。 - maxWaitMillis:最大等待获取连接时间。 - validationQuery:用于验证连接是否有效的SQL查询。 这些参数可以根据应用程序的负载和需求进行调整。 5. **依赖管理** 在使用commons-dbcp库时,通常需要将其添加到项目的构建路径中。如果是使用Maven进行依赖管理,可以在pom.xml文件中添加如下依赖配置: ```xml <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-dbcp2</artifactId> <version>2.9.0</version> </dependency> ``` 注意:这里示例使用的是commons-dbcp2的最新版本,因为 commons-dbcp.jar 可能指的是较旧的版本或特定项目的专有库,而最新的Apache Commons DBCP已迁移到dbcp2包下。 6. **版本演进** 正如前面提到的,库的版本号是识别库特性和功能的关键。在版本迭代中,可能会添加新功能、修复bug或提供性能上的改进。因此,开发人员在选择使用时应该关注版本信息,确保使用的是最新稳定版本以获取最佳的支持和功能集。 7. **应用场景优化** 根据不同的应用场景,可能需要对commons-dbcp库进行相应的优化。例如,在高并发环境下,可能需要调整最大连接数和等待时间来避免连接池耗尽。在内存受限的情况下,可能需要减少空闲连接的数量以节省资源。开发者需要根据实际应用情况来配置合适的参数。 8. **安全性** 数据库连接池在配置时还需要考虑安全性问题,比如如何安全地存储数据库密码。Apache Commons DBCP支持多种认证方式,包括明文密码、加密密码和第三方认证机制。 总之,commons-dbcp.jar作为一个成熟的数据库连接池解决方案,为Java开发者提供了强大的工具来有效地管理数据库连接,提高应用程序的性能和稳定性。对于数据库访问频繁的应用,合理配置和优化DBCP库是保证良好系统性能的关键步骤。
recommend-type

Linux音频自动化:一步到位制作个性化音量调整脚本

# 摘要 Linux音频自动化是一个涉及音频技术原理、系统管理工具和脚本编写的应用领域。本文首先介绍了Linux音频自动化的基础知识和理论框架,包括数字音频基础、音频信号处理、Linux音频管理工具 ALSA 和 PulseAudio,以及自动化脚本的构成和音量控制命令。随后,文章深入探讨了音频自动化脚本的实践技巧,涵盖环境准备、脚本逻辑编写、音量监控和调整流程,以及脚本的优化与
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部