• Golang中new与make区别详解
    Golang中new与make区别详解
    在Golang中,new和make的区别在于适用对象和初始化方式。new(T)用于为任意类型分配零值内存并返回指向该内存的指针;而make仅用于初始化切片、映射和通道,并返回已初始化的实例。1.new适用于所有类型的零值初始化,返回*T类型;2.make仅用于特定内建类型,返回实际类型如[]T、map[K]V等;3.new进行零值初始化,make按参数进行实际初始化;4.new可用于任何结构体,make不可用于用户自定义类型。根据需求选择new或make,若需指针且零值状态用new,若创建可直接操作的sl
    Golang · Go教程   |  4天前  |   485浏览 收藏
  • Golang防范路径遍历与文件上传漏洞方法
    Golang防范路径遍历与文件上传漏洞方法
    处理用户上传文件需遵循四个安全措施:1.限制存储路径,使用固定目录并校验路径合法性;2.验证文件类型,采用白名单机制并检查文件头;3.限制文件大小与并发,设置请求体上限;4.隔离或转换上传文件,禁用直接访问。具体做法包括使用filepath.Clean()清理路径、通过strings.HasPrefix()确认路径范围、定义允许的文件后缀、利用http.MaxBytesReader控制上传大小,并将文件存储于非Web根目录下,结合随机命名提高安全性,从而构建多层防护体系。
    Golang · Go教程   |  3天前  |   485浏览 收藏
  • Golang反射创建结构体方法详解
    Golang反射创建结构体方法详解
    Golang的reflect.StructOf函数用于运行时动态创建结构体类型,通过提供一组reflect.StructField字段定义,生成新的reflect.Type,进而创建该类型的实例。2.它适用于数据结构不确定或需要高度抽象的场景,如数据序列化、ORM框架、配置管理系统、RPC数据契约和数据转换清洗等。3.使用时需注意性能开销、运行时错误、可读性挑战、私有字段访问限制及内存管理等问题,建议缓存已创建的类型以提高性能,并严格测试确保字段定义正确。4.reflect.StructOf支持嵌套结构体
    Golang · Go教程   |  3天前  |   485浏览 收藏
  • Golang实现xDS数据平面经验分享
    Golang实现xDS数据平面经验分享
    如何选择xDS协议版本?建议新项目直接使用v3,因其功能更全且社区主推。如何用Golang实现xDS的gRPC接口?需引入必要依赖包并注册DiscoveryService服务,实现StreamAggregatedResources方法处理配置更新,注意资源类型匹配与日志输出。如何管理xDS资源配置更新?通过维护本地快照与状态信息支持增量更新,可借助SnapshotCache简化状态管理。如何测试xDS服务?可通过启动Envoy实例、使用istioctl命令、mock控制面模拟及添加监控指标等方式验证,并确
    Golang · Go教程   |  3天前  |   485浏览 收藏
  • Golang反射操作结构体全解析
    Golang反射操作结构体全解析
    反射在Golang中通过reflect包实现结构体的类型获取、字段遍历、值修改及标签读取。1.获取结构体类型信息时,使用reflect.TypeOf()并判断Kind()是否为Struct,若为指针需调用Elem()获取实际类型。2.遍历字段使用ValueOf()配合NumField()和Field()逐个访问,并通过Interface()还原值,仅限导出字段。3.修改字段前必须确保可寻址且字段可设置(CanSet()),并保持类型一致。4.通过FieldByName()查找字段并读取Tag信息,用于元数
    Golang · Go教程   |  2天前  |   485浏览 收藏
  • 一文详解gomod依赖管理详情
    一文详解gomod依赖管理详情
    1. go的依赖管理发展 GOPATH 所有的依赖都放置在同一路径下,可以复用下载的依赖,但是当不同项目需要依赖不同版本的依赖时,就很容易出现冲突问题。govendor 解决了依赖库版本不一致的问题
    Golang · Go教程   |  2年前  |   gomod · 依赖 · 管理 · golang 484浏览 收藏
  • Go语言通道之无缓冲通道
    Go语言通道之无缓冲通道
    一、通道是什么? 其实无论是原子函数还是共享锁都是通过共享内存的方式进行的同步、效率一般不高,而Go语言中则使用了通道,它是一种通过传递信息的方式进行数据同步,通过发送和接收
    Golang · Go教程   |  2年前  |   通道 · 无缓冲 · golang 484浏览 收藏
  • Golang中slice删除元素的性能对比
    Golang中slice删除元素的性能对比
    在我写的blog中,这个算是参与度比较高的,所以有必要把程序写的更加容易理解一些。 我的电脑配置: ☁  bechmark  system_profiler SPHardwareDataTypeHardware:     Hardware Overview:     &
    Golang · Go教程   |  2年前  |   元素 · Slice · golang 484浏览 收藏
  • 如何在 Go语言中使用日志包
    如何在 Go语言中使用日志包
    引言: 在我们的日常编程中,日志很重要。只要是我们写代码,就有可能出现 Bug。日志文件就是一种快速找到这些 bug,更好地了解程序工作状态的方法。 让我们来看一下日志文件的定义: 日
    Golang · Go教程   |  2年前  |   使用 · 日志包 · golang 484浏览 收藏
  • GoLang中Json Tag用法实例总结
    GoLang中Json Tag用法实例总结
    JSON Tag标签的完整语法,包含哪些选项不同选项(输出名/-/omitempty/string)的作用及使用范围特殊注意事项补充 Json中Tag用法汇总 JSON Tag标签格式为:json:"FieldName/-/可选,omitempty/可选,string/可选
    Golang · Go教程   |  2年前  |   JSON · tag · golang 484浏览 收藏
  • Go并发编程之sync.Once使用实例详解
    Go并发编程之sync.Once使用实例详解
    一.序 单从库名大概就能猜出其作用。sync.Once使用起来很简单, 下面是一个简单的使用案例 package main import ( "fmt" "sync" ) func main() { var ( once sync.Once wg sync.WaitGroup ) for i := 0; i < 10; i+
    Golang · Go教程   |  2年前  |   sync.Once · 并发编程 · golang 484浏览 收藏
  • 手把手带你走进Go语言之运算符解析
    手把手带你走进Go语言之运算符解析
    概述 Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. Go 运算符 运算符 (operator) 可以帮助我们在程序中执行数学或逻辑运算. Go 语言内置的运算符有: 算术
    Golang · Go教程   |  2年前  |   运算符 · 语言 · golang 484浏览 收藏
  • golang 在windows中设置环境变量的操作
    golang 在windows中设置环境变量的操作
    安装完成后需要在系统环境变量中设置 GOPATH为项目目录 GOROOT为安装目录 path中设置好安装目录到bin目录 打开cmd,输入go env,出现如下配置生效 补充:Golang 环境变量须知 1.前言 无论你是使用 Wind
    Golang · Go教程   |  2年前  |   Windows · 环境变量 · golang 484浏览 收藏
  • Go语言实现猜数字小游戏
    Go语言实现猜数字小游戏
    利用Go语言实现一个四位数字,而且不重复的猜数字游戏,解题思路是先利用rand随机函数产生一个四位数,然后通过切片进行引用传递,设定用户可以输入的数字,最后分别遍历切片四位数字与
    Golang · Go教程   |  2年前  |   猜数字 · golang 484浏览 收藏
  • Go语言range关键字循环时的坑
    Go语言range关键字循环时的坑
    关键字range可用于循环,类似迭代器操作,它可以遍历slice,array,string,map和channel,然后返回索引或值。可以使用”_”来忽略不想要的返回值。可以方便的读取上面类型中的内容,例如: package main
    Golang · Go教程   |  2年前  |   循环 · range · go语言for · golang 484浏览 收藏
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    511次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    498次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
  • Golang深入理解GPM模型
    Golang深入理解GPM模型
    Golang深入理解GPM调度器模型及全场景分析,希望您看完这套视频有所收获;包括调度器的由来和分析、GMP模型简介、以及11个场景总结。
    474次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    100次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    92次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    110次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    102次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    102次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码