
golang
shura1014
只要学不死,就往死里学!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go语言中获取IP
在net包中提供了获取所有网卡的ip,一般不会用127.0.0.1,::1这样的本地回环地址,可以过滤掉,如果想要获取当前真正在使用的地址,得通过net.Dail去连一下才知道。原创 2023-11-21 09:34:59 · 537 阅读 · 0 评论 -
Go语言读取文件内容
读取文件内容在每个语言里面都有,go语言中主要注意文件读完后会返回一个异常 io.EOF,根据这个异常去判断就可以了以上就是go读取文件内容的代码了,平时作为自己的一个小工具库用欢迎关注,学习不迷路!原创 2023-11-21 09:34:17 · 345 阅读 · 0 评论 -
Go语言中实现应用IP防火墙
在公司里面经常会听到某应用有安全漏洞问题,没有做安全加固,IP防火墙就是一个典型的安全加固解决方案,只允许指定的ip段访问应用,一般是内网ip本文主要讲解go语言如何实现ip防火墙。原创 2023-11-20 19:45:20 · 575 阅读 · 2 评论 -
Go语言中ipv4与Uint32转换
ip对于我们都不陌生,但是如果有一道题目要你判断某个ip在不在一个ip段的范围内,该怎么做呢,要是能把它弄成可比较的数字就好了例如 127.0.0.1如何转数字呢,我们可以把它分成四段 127 0 0 1 每一段转为二进制拼起来 01111111 00000000 00000000 00000001再转成uint32 变为 2130706433,这个时候就是一个数字了。原创 2023-11-20 09:35:04 · 473 阅读 · 0 评论 -
Go语言中string与byte转换
string与byte的转换是最常见的一种,通常我们会使用强转方式,但其实还有另一种更加高效的方式,本文会演示两种转换方式。原创 2023-11-20 09:34:32 · 1021 阅读 · 0 评论 -
Go语言中获取协程ID
java同事都知道,线程会有对应的id,那么go语言中协程有id吗,其实是有的,但是不建议使用。实在需要使用的话可以使用本文的例子获取。原创 2023-11-19 17:46:13 · 1235 阅读 · 0 评论 -
Go实现延期结果处理DeferredResult
学过java SpringBoot的同学应该知道,有一个非常好用的类DeferredResult,他可以设置一个超时时间,如果在超时时间内有结果,那么返回结果,如果延期了,返回预期设置的结果说到这功能就会想到基于长轮训实现的实时消息推送系统,在很多基于spring的框架都用到了该功能在管理程序去做一个monitor,监视某些数据的变化,如果监视的数据有变动,那么直接返回给请求者,如果没有那么告诉请求者一个状态码,让对方立刻重新请求典型的例子有配置中心Apollo。原创 2023-11-19 14:06:44 · 219 阅读 · 0 评论 -
Go-手写注册中心
服务注册中心原创 2023-09-08 10:17:39 · 834 阅读 · 1 评论 -
Go语言中反射reflect的基础使用2
前面已经介绍了反射的基本使用,但还有一些东西在上期内容没有介绍到的,比如反射对方法的使用,通过反射判断类型是不是接口类型,是不是某接口的子类等。原创 2022-11-18 21:10:52 · 116 阅读 · 0 评论 -
Go 语言中new与make的区别
在go语言中有这么一个库 builtin 它提供了一些类型、变量和常量的声明。比如any等价于interface{}就是在这里面声明的,我们可以直接使用该库中的方法或者变量而不需要导包。其中我们要介绍的new与make就在这个库中原创 2022-11-16 23:15:13 · 162 阅读 · 0 评论 -
Go语言中反射reflect的基础使用
反射是可以在程序的运行期间获取到变量或者结构体的一些元信息,能够知道类型,变量的值甚至修改值,执行方法等原创 2022-11-15 19:50:09 · 534 阅读 · 0 评论 -
Go语言中context库的基础使用
从名字来看就是一个上下文的意思,通常上下文会跟随你的整个流水线而走,这样方便在每个进程或者协程中都能拿到一些重要信息。比如java的Dubbo框架里面当执行一个Rpc调用时可以在上下文RpcContext存放trace_id,服务提供方接收到后,如果需要它就可以直接在上下文中拿到在go语言的http库里面,发送一个request请求也可以携带上下文。接收方可以通过request拿到,这样方便做一些超时处理原创 2022-11-14 23:23:29 · 376 阅读 · 0 评论 -
Go的多模块开发
如果你的一名java程序员,应该很清楚,可以使用maven或者gradle来实现多模块开发,并且提交代码也不需要修改啥。那么go能不能也把这块搞得简单些呢。终于在go1.8迎来了 go work 下面我们来使用一下 go work ,需要大家把版本升至1.8以上原创 2022-11-13 16:08:35 · 799 阅读 · 0 评论 -
Go语言中同步原语sync包的使用
在这个包下go语言给我提供了一下同步操作,在高并发的场景下非常适用,java程序员都知道,在jdk的标准库中也是给我们提供了GUC的并发包。在很多框架底层都是用到了它。那么go语言也有同样类似的包,那就是sync原创 2022-11-12 15:22:07 · 339 阅读 · 0 评论 -
Go语言中的闭包
在很多语言中都有闭包的概念,比如js,python,lua以及java中的lambda表达式,go语言中也是有的闭包其实就是一个函数引用了它所需要的一些变量组成的原创 2022-11-10 19:21:11 · 252 阅读 · 0 评论 -
Go 基于http库实现简单的web框架
把请求路由到正确的处理逻辑中,获取到请求参数,执行业务,返回响应结果原创 2022-11-08 13:19:27 · 390 阅读 · 0 评论 -
Go语言中泛型的使用
一个加法运算,整数类型与浮点类型的逻辑都是一样的,就没必要去写两个方法 sumInt sumFloat在Go 1.18之后也引入了泛型 ...原创 2022-11-07 13:46:55 · 216 阅读 · 0 评论 -
Go语言中加载配置文件之Toml配置文件的使用
前一篇文章我们介绍了使用ini作为配置文件的goconfig框架,因其结构简单,对于一些复杂的配置就没那么友好,今天我们来介绍toml文件原创 2022-11-07 13:44:48 · 956 阅读 · 0 评论 -
Go语言中加载配置文件之goconfig框架使用
每个项目中都会有配置文件管理来管理,比如数据库的配置。配置文件框架 一般大致思路都是加载配置文件,返回配置操作对象,该对象提供获取配置api下面我们来使用goconfig框架来了解配置框架,它解析的是ini文件,ini文件以简单的文字和结构组成,一般windows系统比较常见,很多应用程序也会因为其简单而使用其作为配置文件原创 2022-11-07 13:41:56 · 1207 阅读 · 0 评论 -
go语言中异常的使用及捕获
如果存在一些不确定的异常我们应该捕获,并且执行对应的逻辑。其他语言中有try catch 那么go语言怎么来实现呢原创 2022-11-06 14:26:18 · 1735 阅读 · 0 评论 -
Go语言中的面向对象-封装继承与多态
在go中会以结构体类表示一个类以结构体组合的方式来表示继承如果一个结构体有某个接口的所有方法,那么就认为该结构体实现了该接口至于public、private以首字母大小写来区分,首字母大写的所有包都能访问,小写的只能在本包内才能访问原创 2022-11-06 14:24:56 · 223 阅读 · 0 评论 -
go语言中log库的使用,并且加强添加日志级别控制
每门语言日志都是很重要的一部分,它能帮助我们快速定位到问题。下面我们来了解go是怎样使用日志的原创 2022-11-05 17:58:46 · 1625 阅读 · 0 评论 -
go语言中Json库使用
对于一个web服务,一般都会用到Json作为出入参,那么go作为一门后端语言,在它的标准库里面就已经内置了json库我们只要使用他的api Marshal 与 Unmarshal就可以很轻松的在json与对象之间转换原创 2022-11-05 16:54:23 · 745 阅读 · 0 评论 -
go语言中flag库使用
相信大家都知道go开发一个命令行工具非常简单。比如像 docker ps 这种不带 - 的参数又如 ls -l 这种带 - 的参数在go语言中都可以实现在go语言中给我们提供了flag库原创 2022-11-05 16:51:45 · 502 阅读 · 0 评论 -
使用go开发一个curl命令行工具
使用go可以很方便的开发一个命令行工具,本文以curl命令行为例介绍如何开发一个命令行工具原创 2022-11-02 18:32:14 · 795 阅读 · 0 评论 -
go语言环境安装
go语言环境安装原创 2022-11-01 20:04:28 · 181 阅读 · 0 评论