Go 1.25.1 自定义包与子包的调用

Go 1.25 新特性深度解析:json/v2 重新定义 Go 的 JSON 处理 在 Go 语言开发中,是最常用、最基础的包之一。但你是否也经历过这些“经典痛苦”?性能差MarshalUnmarshal慢,尤其在高并发场景下成为瓶颈;内存高:频繁分配临时对象,GC 压力大;行为不一致nilSlice 序列化为null,但前端期望是[];不支持流式处理:大 JSON 文件无法逐块读取,内存爆掉;标签功能弱:无法自定义空值判断、字段排序、自动类型转换;UTF-8 乱码静默处理:非法字符被替换,数据损坏却无报错。 阅读详情

目录结构

demo/
   sample/
     go.mod
     user.go
     utils/
       db.go
main.go
go.mod
go.sum

1、创建目录sample

2、进入目录 执行go mod init sample 生成go.mod

3、在当前目录下创建user.go子目录utils 并在此目录下创建一个db.go

user.go

package sample
import "fmt"

func Register(name string,age int) string{
	fmt.Println(name)
	return name
}

func Sum(a,b int) int {
	return a+b
}

db.go

package utils

func DBEngine() string {
     return "MySQL 8.x"
}

在项目主目录下执行要go mod edit -replace sample=./sample

go mod tidy #清理无用的项目

go get sample 加入引用

module demo
go 1.25.1

replace sample => ./sample

require sample v0.0.0-00010101000000-000000000000

主项目main.go对模块sample的函数进行调用

package main

import (

	"fmt"
	"sample"
    "sample/utils"
)

func main(){
	// app:=iris.New()
	// app.Use(iris.Compression)

	// app.Get("/",func(ctx iris.Context){
	// 	ctx.JSON(iris.Map{"code":200,"msg":"success"})
	// })

	// app.Listen(":5000")

	fmt.Println(sample.Register("Bob",23))
	fmt.Println(sample.Sum(1,2))
    fmt.Println(utils.DBEngine())

输出显示 >>>Bob Bob 3 MySQL 8.x

Go 1.25 新特性:正式支持 Git 仓库子目录作为 Go 模块 Go 1.25 对子目录模块的支持,是 Go Modules 生态的一次重要进化。它解决了长期存在的 monorepo 组织难题,让 Go 项目在复杂工程结构中更加灵活、可维护。📌一句话总结:从 Go 1.25 起,你终于可以把go.mod放在仓库的任意子目录中,并像普通模块一样被引用!这一特性不仅提升了开发体验,也标志着 Go 在大型项目支持上的进一步成熟。如果你正在维护 monorepo 或多语言项目,不妨在 Go 1.25 发布后尝试这一新能力! 阅读详情

相关推荐

NotebookLM平替实测:用Open Notebook+Ollama零成本搭建私有AI知识库

本文提供了一份详细的实战指南,教你如何利用Open Notebook与Ollama,在本地零成本搭建一个功能强大且完全私有的AI知识库。通过Docker容器化部署,实现数据绝对安全、模型自由选择与离线运行,是NotebookLM等云端工具的绝佳平替方案,尤其适合注重数据隐私的教育工作者、研究者及小团队。

weixin_29052717的博客 514

Go1.25 新特性:Go modules 终于要支持 Git 子目录,太感人了!!!

在过去 Go 最早是使用 GOPATH 的模块依赖管理方式,源于 Go 的大单体仓库的模式。随后 @rsc 推行了 Go modules(也就是现在的 go.mod)的模块依赖管理方式。于是作者想要将模块源码迁移到仓库下的子模块,这样可以实现根目录就干净了,文档和配置文件也不会和源码混在一起,更利于维护与阅读。但 Go modules 本身也依然有不少的问题点,其中一个是类似 GitLab subgroups 的兼容适配问题。这样 Go 命令就可以把模块定位在包含源码的子目录中,而不是整个仓库根目录。

EDDYCJY的博客 1041

【NLP】文献翻译4——CH-SIMS:中文多模态情感分析数据集与细粒度的模态注释

CH-SIMS: A Chinese Multimodal Sentiment Analysis Dataset with Fine-grained Annotations of Modality摘要1. 介绍2. 相关工作2.1 多模态数据集2.2 多模态情感分析2.3 多任务学习3. CH-SIMS 数据集3.1 数据获取3.2 标注3.3 特征提取4. 多模式多任务学习框架4.1 单模态子网4.2 特征融合网络4.3 优化目标5. 实验5.1 基准5.2 实验的细节5.3 结果和讨论5.3.1 与

YoungSeng's Blog 1万+

2025年08月12日 Go生态洞察:Go 1.25 正式发布与深度解析

Go 1.25 深度解析:新特性与实验功能一览 Go 1.25 带来多项重要更新: ✅ 工具链优化:增量编译加速构建,go tool trace 增强调试 ✅ 运行时改进:调度器性能提升,内存管理更高效 ✅ 编译器/链接器:内联优化减少代码体积,跨平台兼容性增强 ✅ 标准库:新增未公开功能包,API 性能优化 🔥 实验性特性: 新一代垃圾回收器(降低 STW 延迟) encoding/json/v2(性能提升+更友好 API) 📌 关键点:所有改动保持向后兼容,实验功能需手动启用。建议开发者测试新 GC

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 6853

WRF后处理:python cartopy绘制土地利用/土地分类图//python绘制WRF下垫面类型(以北极为例)

下垫面类型对于WRF的地表过程十分重要,而在我们研究WRF的地表过程之前,需要对输入的土地利用类型进行一些绘制,以便后续的修改。LU_MODIS21函数定义了绘制的土地类型、标签与对应色标,我们使用时,直接引用LU_MODIS21()即可返回。其实很简单,只要将你拥有的土地类型数据提取出来,将原本函数中的labels和C切片,重新定义色标再绘制即可。在这里,我将以北极地区为例,绘制北极地区的WRF下垫面数据,我使用的MODIS21这类。

weixin_43750300的博客 3859

保姆级教程:用Python和PyTorch复现PTB-XL心电信号分类论文(附完整代码)

本文提供了一份详细的PTB-XL心电信号分类教程,涵盖从数据预处理到模型优化的完整流程。通过PyTorch实现三种深度学习架构(Conv1D、SincNet和熵特征融合网络),并针对医疗AI特有的类别不平衡问题提供解决方案。教程包含可运行的代码示例,帮助开发者快速复现论文结果并应用于实际心电信号分析场景。

weixin_30555125的博客 405

Go 1.25:后端开发者应该关注的五大变化

Go 1.25 的第一个候选版本(RC)已正式发布。每当翻阅官方发布说明时,许多开发者常常需要从大量与自身工作无关的信息中“淘金”。为此,本文特意梳理与后端开发关系最为密切且实际价值突出的重要更新,供您高效参考。

分享 Go、云原生、AI Infra 相关技术 1877

Oracle EBS 如何处理MMT表错误-WIP 实体未定义或不具有期间余额项

错误说明:WIP 实体未定义或不具有期间余额项。(The wip entity is either not defined or does not have a period balance entry)由于工单的创建日期为4月份,工单的余额表记录的期间是4月份,而3月份工单余额表中没有记录。公司将上一个新的库存组织,有一部分测试的工单创建日期在4月份,而工单的发放日期、发料事务处理日期和完工事务处理日期均在3月份。1、关闭3月份库存会计期,待定事务处理存在未计成本物料/WMS。成本类型: PAC成本。

陈显平的专栏-Oracle EBS 652

GO 1.25

本文档是正在编写中的发布说明。Go 1.25 预计于 2025 年 8 月发布。

A_Tevens的博客 1227

关于 Nginx 监听地址 0.0.0.0 的详细解释

0.0.0.0在Nginx配置中表示监听服务器所有网络接口(包括公网IP、内网IP和本地回环地址),这是默认配置。当使用listen 80;时,Nginx会接受通过服务器任何IP地址的80端口访问请求。相比只监听特定IP,这种配置更通用,但也意味着服务会对外网开放,需注意安全风险。可通过netstat命令验证监听状态,显示0.0.0.0:80即表示正确配置。

weixin_43674738的博客 1566

使用C#实现Padim算法的训练和推理:智能缺陷检测的前沿技术

Padim (Patch-based Deep Image Model) 是一种用于无监督异常检测的深度学习算法。它通过提取图像中的局部特征(patch),并在这些特征上构建一个正常样本的分布模型来识别异常。无监督学习:不需要标注数据,适用于缺乏标签的情况。局部特征提取:通过卷积神经网络提取图像的局部特征(patch)。低秩近似:利用低秩近似构建正常样本的协方差矩阵,有效降低计算复杂度。鲁棒性强:能够处理多种类型的缺陷和噪声。

墨夶的博客 1013

Go 1.25正式发布

最新的 Go 版本 1.25 于 2025 年 8 月发布,距离 Go 1.24 间隔六个月。其大部分变化集中在工具链、运行时和库的实现上。与往常一样,该版本保持了 Go 1 的兼容性承诺。我们预计几乎所有 Go 程序都能像以前一样继续编译和运行。

A_Tevens的博客 1670

AutoCAD中圆弧折线化方法与实现

在AutoCAD中,圆弧折线化是将圆弧曲线转换为由一系列线段组成的折线曲线的过程。本文将介绍如何使用LISP编写代码来实现圆弧折线化,并提供相应的源代码。上述示例代码将生成一个以坐标原点为圆心、起点为(5.0, 0.0, 0.0)、终点为(0.0, 5.0, 0.0)、半径为5.0、角度为90度的圆弧的折线表示。通过使用上述的LISP代码,你可以在AutoCAD中实现将圆弧转换为折线的功能。你可以根据需要修改代码中的参数来适应不同的圆弧转换需求。函数,并传入圆弧的起点、终点、圆心、半径和角度参数。

VcuOcaml的博客 1417

2019年2月25日 Go生态洞察:Go 1.12 版本发布

大家好,我是猫头虎博主!🐯 今天,我要和大家分享一则激动人心的消息:Go 1.12 版本正式发布了!作为一名热衷于技术的探索者,我将深入挖掘这一版本的新特性和改进。如果你是一个Go语言爱好者,那么这篇文章你绝对不能错过。让我们一起探索Go 1.12的世界吧!🚀特性说明TLS 1.3支持为网络通信提供更安全的加密选项模块支持改进为Go 1.13中默认启用模块做准备windows/arm支持扩展了Go语言的适用平台macOS和iOS兼容性增强了在苹果设备上的使用体验。

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 6532

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Go 1.25 发布:性能、工具与生态的全面进化

好用顺手,快到离谱!

码刀攻城 1263

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Go 1.25 正式发布:聚焦性能、云原生与开发者体验

Go 1.25发布:性能与云原生双升级 Go 1.25正式发布,在保持向后兼容的同时带来多项关键改进。新版重点优化了运行时性能与云原生适配性,包括: 实验性Green Tea GC可提升10%-40%性能 自动适配容器CPU配额,优化容器环境并发性能 JSON处理性能提升4倍以上,支持零分配解码 新增WaitGroup.Go()简化并发代码 统一nil指针行为,强制错误检查 开发者体验方面增强了测试工具链,并默认启用DWARF5减小调试信息体积。建议开发者重点检查JSON处理、nil指针使用等兼容性问题,容

sanrentai的博客 2404

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

【Go语言学习系列25】context包详解

深入解析Go语言context包的设计理念与使用方法,掌握goroutine取消、超时控制与请求范围数据传递的最佳实践

GopherTribe的博客 1351

Golang实践录:go发布版本信息收集

本文从官方、网络资料收罗有关go的发布历史概况。主要目的是能快速了解golang不同版本的变更。鉴于官方资料为英文,为方便阅读,使用工具翻译成中文,重要特性参考其它资料补充/修改。由于发布版本内容较多,将参考资源放到文章前面。

李迟的专栏 4588

Go1.25 新特性:引入 WaitGroup.Go 和 CSRF 等方法,提升安全性!

结合社区 issues 反馈中,大家也建议将 WaitGroup 的设计重心由 “计数器” 转变为 “任务集合”,也就是文档中主推。虽然不是特别大的特性,但是他与我们的日常开发工作很接近,甚至可以直接融入开发中。社区普遍认可 CSRF 是一个典型需求场景,但是现在 Go 标准库缺少开箱即用的防护中间件。包中添加一个原生的 CSRF 防护处理器,以帮助开发者应对跨站请求伪造(CSRF)攻击。今天带了 2 个日常可能会接触到的新版本小特性,开发经常用到。,以及避免 Go 老版本中的闭包捕获错误等问题。

EDDYCJY的博客 1007

2025年09月26日 Go生态洞察:Go 1.25中的Flight Recorder:革命性的诊断工具

摘要 Go 1.25版本引入的Flight Recorder是一种革命性的诊断工具,能够在程序运行时缓存短时间窗口的执行轨迹,并在检测到问题时精准回溯。本文由猫头虎技术团队深入解析其工作原理,并通过HTTP服务性能诊断案例演示其应用。Flight Recorder解决了传统执行跟踪数据量过大的问题,帮助开发者高效定位延迟和性能瓶颈,是Go生态中强大的调试利器。 关键词:Go 1.25、Flight Recorder、执行跟踪、性能调优、Go诊断

猫头虎技术团队:授渔优于赠鱼,兴趣引领智慧,探索之乐尤显珍贵。商务合作+:Libin9iOak ,万粉变现+:优快云WF,猫头虎承诺每年免费为100名C站创作者做账号流量诊断服务!全网搜:猫头虎技术团队,点击文章底部名片或直接私信我一切皆可谈,快找虎哥! 2127

Go 1.25 新功能:深入了解 JSON v2 及更多

Go 1.25 带来了性能改进、工具链更新以及备受期待的 encoding/json v2 预览版。本文按照版本发布公告顺序,梳理主要变化,并重点阐述为何 json v2 是近年最值得关注的升级之一。

分享 Go、云原生、AI Infra 相关技术 2238

golang调用java——secp256k1

问题描述:项目需要使用secp256k1类型的椭圆曲线进行加解密,客户端是用java实现的,而后台是用golang。问题在于java有secp256k1的标准库,可以生成密钥和加密,通过x509序列化之后传给golang后台,但是golang没有该标准库,无法进行验证。解决方案(两种): 对照java的标准库用golang自行实现可用的椭圆曲线(待定) java实现验证,编成jar包,利用golan

foam的专栏 1万+

Go 1.25新特性前瞻:GC提速,容器更“懂”Go,json有v2了!

并且,和之前的版本一样,Go 1.25 带来的许多改进,都如同“无形之手”,你可能无需修改一行代码,甚至无需刻意感知,只需简单升级,便能享受到性能的飞跃、诊断能力的提升以及潜藏错误的暴露。我鼓励所有 Go 开发者,积极尝试 Go 1.25 RC1 版本,将其应用到你的开发、测试环境中,并向 Go 团队提供宝贵的反馈。这门进阶课程,是我多年 Go 实战经验和深度思考的结晶,旨在帮助你突破瓶颈,从“会用 Go”迈向“精通 Go”,真正驾驭 Go 语言,编写出更优雅、更高效、更可靠的生产级代码!

TonyBai 2353

Go 1.25:后端开发者最该关注的 5 个变化

Go 1.25 提供了这个新包,它能让你在一个“隔离气泡”里跑测试,里面的时间是“假”的,可以被控制。你什么都不用做,只要用新版 Go 重新编译、部署,跑在 K8s 里的服务,性能和稳定性就会有一次“免费”的、实打实的提升。总的来说,Go 1.25 是一次非常“务实”的升级,它没有搞什么花里胡哨的新语法,而是把力气都用在了提升程序在云原生环境下的真实运行性能和改善工程师的开发测试体验上。这是最直接、最普惠的收益。在升级前,排查一下项目里有没有那种“先用值、后判错”的不规范代码,提前修复,避免升级后踩坑。

梦醒人间 1119

Go语言从1.18到1.25版本功能更新详解

Go语言7年核心演进摘要 Go语言从1.18到1.25版本实现了重大功能革新和性能飞跃。1.18版本引入泛型支持,通过类型参数、泛型约束和泛型数据结构彻底改变了代码复用方式。1.19版本优化内存管理和原子操作,新增软内存限制功能。1.20版本改进错误处理和切片转数组等语法细节。后续版本持续增强内置函数、循环语义、测试框架和运行时性能,使Go在保持简洁的同时获得更强的表现力和执行效率。这一系列更新推动Go从简单的系统语言发展为兼具高性能和开发效率的现代编程语言。

goodparty的专栏 2117

Go 1.25.1基本包

fmt:格式化输入输出(Print*Sprintf等)。errors:错误构造与包装(errors.NewIsAsJoinbufio:带缓冲的 Reader/Writer,减少系统调用。bytes:字节切片处理(查找、替换、Buffer)。strings:字符串处理(分割、拼接、查找、替换、Builder)。strconv:字符串与数值/布尔/进制转换。ioio/fs:流式读写接口、文件系统抽象;io.CopyTeeReader很常用。path:路径拼接与分解(filepath走本机规则)。

ohh11的博客 1220
上一篇: 最新版Jenkins 2.526 Role-based Authorization Strategy
下一篇: Rust开发环境配置
恒云客
博客等级 码龄18年 45粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恒云客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值