unsafe 真就不安全吗?- part2

在[上篇文章](https://studygolang.com/articles/28433)中,我已经谈到了 unsafe 包的初衷和功能。但还有一件事情没有解释。 ## type pointer 此类型表示指向任意类型的指针,这意味着,unsafe.Pointer 可以转换为任何类型或 uintptr 的指针值。你可能会想: 有什么限制吗?没有,是的... 你可以转换 Pointer 为任何你想要的,但你必须处理可能的后果。为了减少可能出现的问题,你可以使用某些模式: > ...阅读全文

Go语言中文网 2021-05-12 22:45:33 polaris

golang 三种指针类型具体类型的指针、unsafe.Pointer、uintptr作用

[原博客地址](https://blog.csdn.net/u014763610/article/details/116676052) # 结论 golang的三种指针类型 1. 具体类型的指针,如*int、*string等 2. unsafe.Pointer,在unsafe下面,任何具体类型的指针都能转化成Pointer,可以实现不同类型的指针的互相转化,充当桥梁的作用 3. uintptr,golang源码的注释为能存储任何类型的指针的类型,uintptr可以进行指针计算,然后...阅读全文

Go语言中文网 2021-05-12 00:19:36 aseto

实用在线工具网站 https://qetool.com

个人的工具类网站:https://qetool.com截图:提供:JSON和SQL转go struct时间戳转换JSON在线编辑,保存密码生成markdown在线编辑器预产期计算二维码在线生成数字转中文大写文字hash,简单的加解密图片在线压缩,仅在前端处理,不会上传到服务端童话故事-安徒生童话,一千零一夜,伊索寓言,寓言故事,成语故事,益智故事等其他功能还在添加中。。。欢迎使用,并给出宝贵意见。阅读全文

Go语言中文网 2021-05-10 16:41:41 daimin

HEO算力挖矿平台APP搭建,系统开发

  HEO算力挖矿系统平台开发咨询HEO算力挖矿平台开发,HEO算力挖矿系统搭建,HEO算力挖矿系统开发方案!   核心提示:文章采取于网络,仅供开发者参考。我司为系统开发公司,非平台,玩家勿扰,同行勿扰,谢谢!   The unique technical characteristics of non tampering and traceable verification of blockchain are suitable for solving the development...阅读全文

Go语言中文网 2021-05-10 15:46:50 chenchen001

Web 序列化空值处理

对于刚接触golang的初学者来说, 在开发应用时总会遇到空值处理问题. 这里我们演示如何处理我们使用dolphin创建一个支持null的table , dolphin 的使用参考  https://studygolang.com/topics/13580#reply2examples/scene/xml/table/article.xml<table name="article" desc="文章" packages="github.com/2637309949/dolphin/package...阅读全文

Go语言中文网 2021-05-10 10:32:31 2637309949

golang源代码阅读,sync系列-Once

[csdn链接](https://blog.csdn.net/u014763610/article/details/116564095) @[TOC](目录) # 总结 1. Once的作用为只执行函数一次。Once使用的场景并不多。因为初始化单例,一般是利用init函数,init函数也执行一次,但是init函数里面执行的东西建议是非阻塞性的,否则会影响整体程序的加载,且不利于定位问题,如果阻塞了话。阻塞性的可以使用Once,如配置初始化 2. Once执行的函数是没有入参和返回...阅读全文

Go语言中文网 2021-05-09 16:28:59 aseto

游戏服务器框架gonet

gonet 游戏服务器架构,mmo架构,包含数学库(box,matrix,point2d,point3d),Recast Navigation寻路模块, a星寻路模块。 分布式雪花uuid,ai行为树,ai状态机,excel导出配置,raft同步模块,分片raft同步模块,hashring分布式一致性算法。 gonet核心思想是actor模式,消息驱动 微服务,微服务之间使用分布式消息队列 [项目地址](https://github.com/bobohume/gonet)...阅读全文

Go语言中文网 2021-05-03 13:36:36 bobohume

游戏服务器框架gonet

gonet 游戏服务器架构,mmo架构,包含数学库(box,matrix,point2d,point3d),Recast Navigation寻路模块, a星寻路模块。 分布式雪花uuid,ai行为树,ai状态机,excel导出配置,raft同步模块,分片raft同步模块,hashring分布式一致性算法。 gonet核心思想是actor模式,消息驱动 微服务,微服务之间使用分布式消息队列 [项目github地址](https://github.com/bobohume/...阅读全文

Go语言中文网 2021-05-03 13:34:30 bobohume

golang单元测试踩坑系列(一)

![7320c81a18c32d9c562217abdb4e0ace.jpg](https://static.studygolang.com/210430/6204f1175f278b440d7fe292f3bcc369.jpg) ## 业务需求 在业务开发的过程中,老旧代码变成了新功能开发和测试的最大阻碍,人员变动以及。基于历史代码的功能修改可能会带来副作用,进而影响用户体验(绩效)。 ## 面临困难 * 老代码对接口的使用非常少 * 业务逻辑中存在大量网络调用 ...阅读全文

Go语言中文网 2021-04-30 22:06:22 geange

使用Viper读取Nacos配置(开源)

## 一、前言 目前Viper支持的Remote远程读取配置如 etcd, consul;目前还没有对Nacos进行支持,本文中将开源一个Nacos的Viper支持库, 开源地址在文章的最下方. 实现这个仓库的主要目的是为了,最终集成到我们的yoyogo框架中, https://github.com/yoyofx/yoyogo 。 ## 二、什么是Viper [Viper](github.com/spf13/viper)是适用于Go应用程序的完整配置解决方案。它被设计用于在应用程序中工作...阅读全文

Go语言中文网 2021-04-30 12:34:53 yoyofx

go设计模式之适配器模式浅谈

### 适配器模式 概念:适配器模式(Adapter Pattern)是作为两个不兼容的接口(结构体)之间的桥梁 ### 什么时候用 ``` 举个例子,原先用Iphone6听音乐,使用的是3.5mm耳机,后来手机坏了,但耳机还在,于是买了一个Iphone12手机, Iphone12使用的是Lightning接口,原先的旧耳机就不能直接使用了,这时我们可以买一个Lightning转3.5mm的转接头, 这里的转接头就相当于我们适配器 ``` ### 代码说明 #### 原先的Ip...阅读全文

Go语言中文网 2021-04-30 10:07:01 go_hiro

基于golang爬虫框架gathertool快速编写并发抓取国内ip信息

@[TOC](基于golang爬虫框架gathertool快速编写并发抓取国内ip信息) > gathertool - 框架地址: https://github.com/mangenotwork/gathertool - 框架下载: go get github.com/mangenotwork/gathertool - 介绍: 轻量级爬虫,接口测试,压力测试框架, 提高开发对应场景的golang程序。 - 框架文档: https://380949.baklib-free....阅读全文

Go语言中文网 2021-04-28 21:25:06 mange

基于gathertool高并发抓取阳光高考招生简章

# golang爬虫高并发抓取阳光高考招生简章 ## 链接地址 > 一级页面 学校列表 https://gaokao.chsi.com.cn/zsgs/zhangcheng/listVerifedZszc--method-index,lb-1,start-0.dhtml >二级页 招生简章列表 https://gaokao.chsi.com.cn/zsgs/zhangcheng/listZszc--schId-5.dhtml > 三级页 招生章程内容 htt...阅读全文

Go语言中文网 2021-04-28 21:24:15 mange

go设计模式之策略模式浅谈

### 策略模式 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换 ### 策略模式与状态模式的区别联系 查看知乎上的一篇文字[状态模式和策略模式的区别与联系](https://www.zhihu.com/question/23693088) 本文也是参考这篇文章的想法,通过go语言翻译出来,如有不合适,请找知乎冤大头,哈哈 ### 与状态模式类似 本质上讲,策略模式和状态模式做得是同一件事:去耦合。怎么去耦合? 就是把干什么(语境类)和怎么干(策略接口)分开,互...阅读全文

Go语言中文网 2021-04-28 17:45:23 go_hiro

go设计模式之状态模式浅谈

### 概念 允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类 ### 何时使用 当一个任务,存在大量与状态有关的条件语句,并且每种条件下,需要执行不同的逻辑时 ### 状态模式的组成 ``` Status:状态 用于抽象状态行为类的行为 Context:状态环境 维护Status状态的切换,实现不同状态下,对外展示不同行为 StatusObj:状态行为类 实现Status接口的行为 ``` 下面以工作日,和休息日两种不同的状态下,Do方法产生不同行...阅读全文

Go语言中文网 2021-04-28 17:43:25 go_hiro

go设计模式之单例模式浅谈

### 概念 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 ### 实现 单例实现有两种方式,分别是饿汉模式和懒汉模式,下面分别说明: #### 1.饿汉模式 ```go type single struct {} var instance *single instance = &single{} func GetSingle() *single { return instance } ``` 饿汉模式存在问题,instance压根没使用都会自动创...阅读全文

Go语言中文网 2021-04-28 17:42:06 go_hiro