
Golang
Golang技术
DTCloud4
昆山一百计算有限公司-提供专业的DTCloud数字孪生平台,开发,实施,培训!
展开
-
安装多个go版本
一般为了稳定,线上版本通常不会激进升级到最新版本,但你本地很可能想试用新版本的功能。这时候就希望能方便的支持多版本;第一步,<version>指定你下载的go版本,这一步,只是安装了一个特定 Go 版本的包装器。通常从官网下载的go会卸载掉多余的go。原创 2024-05-08 14:58:20 · 375 阅读 · 0 评论 -
Golang标准库 ---初识反射---Reflect包
反射是指程序能够在运行时访问、检测和修改其自身状态或行为的一种能力。它允许程序动态地获取类型信息、调用方法、访问属性,甚至生成新的类型。序列化和ORM框架就可以通过反射拿到Tag标签进行解析和数据库字段进行映射。反射常用于框架开发、插件系统、测试工具等需要高度动态性和灵活性的场景。还有ORM框架自动建表也是用过反射实现的。类似方法调用,可根据字符串名称访问和修改属性值。绕过编译时类型检查,根据字符串名称调用方法。反射是一把双刃剑,使用时需权衡利弊。以下是反射的简短介绍。原创 2024-05-08 14:18:21 · 210 阅读 · 0 评论 -
Go 踩坑日期 -- for循环
并不会获得预期的结果,原因是 for range 循环 只有第一次的时候 是 := , 从第二次循环开始都是 = (对之前的变量进行赋值而不是重新初始化所以都是对应的同一个指针);所以不管循环多少次 指针地址都是一样的;在go 1.22之前使用循环变量以指针传递时,并不会在每次迭代把 v 重新初始化。再次打印地址值,循环遍历 v 的值就会在每次迭代中更新。而在go 1.22 之后我们运行相同的代码。go version 1.18运行的结果。原创 2024-04-16 16:37:30 · 198 阅读 · 0 评论 -
GO context 入门演示
更复杂的场景如何做并发控制呢,如子协程开启了子协程,或者需要同时控制多个子协程,这时Context标准库就可以解决这类场景的问题,为每个子协程传递相同的上下文ctx即可,调用cancel()函数后该context控制的所有子协程都会退出,context.withcancel(parent)创建可取消的context,同时返回cancel,context.withValue()创建一个基于ctx的子Context,并携带了值,在子协程中,使用ctx.value(key)获取传递的值,读取/修改该值。原创 2024-04-16 15:37:30 · 266 阅读 · 0 评论 -
DTCloud GOlang API
但我使用了这种方法,还是下载慢,超时报错。此时此刻你脑海里可能会闪现一个念头:fq吧,没错,你的想法很正确。无 CORE_TAP_REPO 的话,则不需要替换。按回车后,根据提示操作:输入镜像序号 --> 输入Y,回车等待brew安装完成即可。今天同事推荐了一种不需要连手机热点的镜像安装方法。只能继续查找资料,偶然发现了第三种方法。然后按照第一种方法,输入brew官网安装命令,你会发现下载速度很快,且安装成功~重复输入命令下载,仍然没法解决。输入命令回车后,我们会发现下载速度很慢,然后就超时报错。转载 2024-02-20 20:44:15 · 58 阅读 · 0 评论