go语言载入json的一个坑

问题简介

go语言标准库汇总内置了对 json 文件的处理,非常方便,最近在写一个应用的时候,需要从 json 文件中载入 配置,由于是 go 新手,忽略一个细节,导致载入内容始终为空

代码演示

代码是最好的说明载体

package configtype config struct{a string `json:"a"`b string `json:"a"`
}
func Load(file string)(*config, error){c = &config{}file, err := os.Open(file)if err != nil {//file open failed todo }jsonParser := json.NewDecoder(file)err = jsonParser.Decode(c)//c 的值是多少
}

结论

看到上面的代码,大家会觉着c 是否赋值成功了呢?
事实上,不成功, json 文件解析成功但是最终赋值失败
原因其实非常简单

go 不同包中的变量 函数 方法访问,区分访问权限的就是 变量 函数 方法的首字母是否大写 如果是大写,可以在其他包被访问

这个问题中,json 包和 config 不是同一个包,访问失败,不能 set

a b 必须改写为大写才可以赋值

思考

之所以 config 中的 filed 设置为小写 是想做访问控制,如果坚持小写,如何给 config 的 field 赋值?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281463.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缺氧游戏黑科技计算机,《缺氧》游戏内参数修改图文详解

很多玩家都很喜欢缺氧这款游戏,有时候因为一些不可告人的秘密我们需要修改游戏中的内容来达到简化我们的生存难度,这样就需要修改游戏的脚本,所幸《缺氧 》对于这个问题很宽容,完全没有加密地图的生成脚本,让我们可以完…

Python 项目实践三(Web应用程序)第四篇

接着上节继续学习,本章将建立用户账户 Web应用程序的核心是让任何用户都能够注册账户并能够使用它,不管用户身处何方。在本章中,你将创建一些表单,让用户能够添加主题和条目,以及编辑既有的条目。你还将学习Django如何…

新手想买二手车 先看看买车后这五个步骤吧

买二手车你该知道 很多人因为资金短缺又或者是想要一辆便宜车“练手”而选择去买一辆价格低廉,有着一定车龄的二手车。很多人看中二手车正正是因为便宜,以为是购买以后基本不需要再投入新的花费,殊不知这是非常错误的想法,因为以下…

十六进制编辑器--ImHex

十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用。常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容。十六进制编辑器可以让你以十六进制的形式查看或…

奥迪坚SVRM(Screen-Voice Recording Manager)录屏软件正式发布

奥迪坚SVRM(Screen-Voice Recording Manager)能够对座席通话同步录音的同时进行座席操作录屏 实时监控座席屏幕操作,及时纠正操作问题。 座席质检可以边听边看,为KPI考核提供依据。 利用优秀座席操作记录对座席进行培训。 监控坐席人员对敏感信息访问次数…

小米:开源不仅要站在巨人的肩膀上,还要为巨人指方向

今天上午,第一届小米开源技术峰会在北京举行,会上,小米人工智能与云平台副总裁崔宝秋致开场词,并发表了《小米开源之路》的演讲。 崔宝秋强调小米一直在推动开源,也是开源的倡导者。他告诉我们雷军创立小米的其中一个重…

《设计模式》3.结构型模式

点击进入我的博客 3.1 适配器模式 适配器模式把一个类的接口变换成客户端所期待的另一种接口,使得原本因接口不匹配而无法在一起工作的两个类能够在一起工作。 3.1.1 类的适配器结构 目标(Target)角色:这就是所期待得到的接口&…

最快的计算机操作,世界十大最快的超级计算机

最近,《联邦储备技术》杂志对全球超级计算机进行了排名,并从中选出了十个最快的超级计算机. 其中,中国有两台超级计算机进入了榜单,而“天河2号”则依靠双精度浮点算术峰. 速度达到了每秒5490亿次,占据了王位.这也是两…

苹果iOS 10.3.1修复博通Wi-Fi芯片重大安全漏洞

如果你还没有将设备升级到 iOS 10.3.1 的话,那么现在是个机会了。因为不久前发布的 iOS 10.3.1,修复了 iPhone 中博通 Wi-Fi 芯片的一个重大安全漏洞,该安全漏洞可能会使在 Wi-Fi 范围内的攻击者在智能手机上注入并运行代码。 Google Project…

台积电放大招:甩开英特尔 7nm和5nm芯片将诞生

北京时间1月20日消息,据科技网站AppleInsider报道,近几年来台积电的发展势头相当猛,该公司总裁兼联合CEO刘德音(Mark Liu)在最近的投资者会议中表示,预计今年年末公司就将正式量产10nm晶圆。此外,台积电7nm研发一如预期…

01: 实现注册登录功能

目录:抽屉项目之js最佳实践 01: 实现注册登录功能 02: 实现发布帖子功能 03: 将帖子展示到页面、点赞 04: 层级评论 目录: 1.1 显示、隐藏 "登录/注册" 菜单1.2 注册功能1.3 登录功能1.4 获取当前用户数量1.1 显示、隐藏 "登录/注册"…

计算机系统怎么算页面大小,电脑网页的设计尺寸是多少

电脑网页的设计尺寸是多少刚入门的网页设计师可能对电脑网页的设计尺寸大小存在疑问,以下百分网小编整理的电脑网页的设计尺寸,希欢迎阅读!  对大于30W台客户端用户进行测试,得到的测试数据如下(数据来源于网络):安全分辨率为10…

WPF 托盘闪烁

WPF 托盘闪烁控件名:NotifyIcon作者:WPFDevelopersOrg - 弈虎、驚鏵原文链接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40。Visual Studio 2022。项目使用 MIT 开源许可协议。接着上一篇基础托盘。新增如下…

Information Retrieval 倒排索引 学习笔记

一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia"。这其实是一个查询操作(Boolean Queries)。 在U…

计算机地址栏搜索不了网,我的电脑地址栏不见了怎么办 地址栏不见了如何解决...

导语:小编对电脑是比较痴迷的,因此喜欢在自己的电脑上进行各种操作,也经常会碰到一些问题。今天要为大家介绍的是在我的电脑地址栏不见了之后怎么办,熟悉电脑的朋友都能够了解。在我的电脑主界面里面,有一个地址栏&…

实践App内存优化:如何有序地做内存分析与优化

由于项目里之前线上版本出现过一定比例的OOM,虽然比例并不大,但是还是暴露了一定的问题,所以打算对我们App分为几个步骤进行内存分析和优化,当然内存的优化是个长期的过程,不是一两个版本的事,每个版本都需要收集线上内…

WinForm(十四)窗体滚动日志

在桌面程序里,一般日志记录到文件里就可以了,但有的时间,也需要在窗体上动态滚动显示,这时,就需要引入日志框架了。这里引入的依旧是NLog(在我的Mini API系统里,用的也是NLog)。首先…

xp计算机找不到音量调节,WinXP电脑没声音且小喇叭不见了如何解决?

有用户在使用电脑听音乐的时候,突然发现电脑没有声音了,本来以为只是被禁了音,想着调节音量即可解决问题。但是当他想要点开音量小喇叭的时候,发现桌面任务栏通知区域的小喇叭不见了,这该怎么办呢?下面小编…

2018-2019-1 20165211 实验四 外设驱动程序设计

2018-2019-1 20165211 实验四 外设驱动程序设计 任务一 1.实验要求 学习资源中全课中的“hqyj.嵌入式Linux应用程序开发标准教程.pdf”中的第十一章 提交康奈尔笔记的照片(可以多张) 2. 任务完成 任务二 1. 实验要求 在Ubuntu完成资源中全课中的“hqyj.嵌…

《ASP.NET Core 6框架揭秘》实例演示[31]:路由高阶用法

ASP.NET的路由是通过EndpointRoutingMiddleware和EndpointMiddleware这两个中间件协作完成的,它们在ASP.NET平台上具有举足轻重的地位,MVC和gRPC框架,Dapr的Actor和发布订阅编程模式都建立在路由系统之上。Minimal API更是将提升到了前所未有…