热文 Go语言Web开发系列(一)使用Echo框架开发一个简单的服务端 在前面的基础篇里面,我们介绍了go语言相关,同时也介绍了net/http的包,但是对于这块的话,我们在真实的项目里面几乎很少用到net/http原生包里面的api,虽然他很强大。这里我们给大家介绍一种比较轻量级htt... Raego2023-06-141277 阅读0 评论
Go语言开发基础系列(三十九)go语言web开发之定义接口的三种方式 在使用go语言开发的时候,我们会涉及到像其他语言一样定义一些接口方法,供客户端来进行请求。在java里面我们进行web开发一般都需要使用到spring框架,然后通过@requestmapping这个注解+@contr... Raego2023-06-14965 阅读0 评论
Go语言开发基础系列(三十八)go语言web工作的基本流程 从本文开始,我们将进入到go语言web服务开发系列,本文的话主要介绍下web开发的主要步骤。这里有经验的开发同学大体都知道,在web服务端开发里面其实主要是包含4个部分,分别是:request response co... Raego2023-06-14864 阅读0 评论
Go语言开发基础系列(三十七)go语言的工作池/线程池 在java语言里面,当我们有子任务需要执行的时候,我们几乎都是把这些子任务放在线程池里面的,而不会每次都new Thread(xxx).start()。那么在go语言里面,我们有没有线程池呢?答案是有的,只是在go语... Raego2023-06-13808 阅读0 评论
Go语言开发基础系列(三十六)go语言的线程安全的sync.map 在java语言里面,map是线程不安全的,同样的在go语言里面,map也是不安全的。在java语言中为了解决map线程不安全,因此出了一个ConcurrentHashMap,在go语言里面也有对应的这个线程安全的ma... Raego2023-06-13668 阅读0 评论
热文Go语言开发基础系列(三十五)go语言的懒加载Sync.Once 在java语言里面我们知道有一个懒加载的机制,也就是这个变量或者类,只有当用的时候才会进行初始化,而不是在最开始就直接初始化把资源给占用了。在go语言中也有懒加载的机制,就是这个:Sync.Once。这个Sync.O... Raego2023-06-131296 阅读0 评论
Go语言开发基础系列(三十四)go语言的互斥锁Sync.RWMutex 上一篇文章《Go语言开发基础系列(三十三)go语言的互斥锁Sync.Mutex》我们介绍了互次锁:Sync.Mutex,这个锁其实是串行的,也就是写的时候需要串行加锁,读的时候也需要串行加锁,那么我们有没有可以优化的... Raego2023-06-13718 阅读0 评论
Go语言开发基础系列(三十三)go语言的互斥锁Sync.Mutex 在前面的文章里面,我们介绍了go语言的多线程编程,并且熟悉了waitgroup和channel,这篇文章,我们在多线程的基础上再来介绍下这个锁相关的操作,这里首先介绍第一种互斥锁。这里的互斥锁其实就是go语言里面的S... Raego2023-06-13732 阅读0 评论
Go语言开发基础系列(三十二)go语言项目的包划分 这篇文章主要是介绍下对应的项目使用到的包,方便后续写代码的时候定义包和引用包。整个项目结构如下:在这里我们根据实际的业务进行划分包,例如这里我们分为client,server,procol。整体的逻辑是client和... Raego2023-06-13818 阅读0 评论
热文Go语言开发基础系列(三十一)多线程编程之结果返回 在前面我们介绍了go语言多线程编程的一些核心知识点。这篇文章再来点实用的内容。假设有这样一个场景:主线程需要启动10个子线程,然后这10个子线程执行任务执行完毕之后需要把结果统一返回回来,然后主线程再继续处理结果,试... Raego2023-06-091288 阅读0 评论
热文Go语言开发基础系列(三十)go语言并发编程之sync.WaitGroup 在上一篇文章里面我们介绍了chan通道,但是大家发现没有这里通道来解决多线程的话,用起来就比较麻烦,所以官方推荐了一个sync.WaitGroup函数。这个函数我们怎么看待呢?其实就是相当于java里面的CountD... Raego2023-06-091299 阅读0 评论
热文Go语言开发基础系列(二十九)go语言并发编程之chanel 在上一篇文章《Go语言开发基础系列(二十八)go语言并发编程之go关键词》我们介绍了在go语言中如何进行多线程编程,在最后其实留了一个疑问,就是我们主线程如果销毁了,不管子线程有没有执行完毕,都会直接被销毁。在上一篇... Raego2023-06-091254 阅读0 评论
热文Go语言开发基础系列(二十八)go语言并发编程之go关键词 在java里面我们会涉及到多线程编程的需求,下面首先我们使用java语言来定义一个多线程的任务,首先定义一个任务:package com.test; public class TestTask implements ... Raego2023-06-091229 阅读0 评论
热文Go语言开发基础系列(二十七)日志logger输出 在java语言里面我们经常会涉及到使用log4j来输出日志,这样子在线上项目运行的时候,日志直接打印到日志文件里面,然后通过ELK进行收集,最后在kibana里面查看日志即可。在go语言里面其实我们也会有这个需求,所... Raego2023-06-091144 阅读0 评论
Go语言开发基础系列(二十六)函数重载 在java语言中,有一个叫做多态的概念,也就是一个方法可以接受任意类型的参数,下面我们使用java语言列举下这个多态的样例:package com.test.inter; public class StudentUt... Raego2023-06-08836 阅读0 评论