“Rust难学”只是一个谎言

近年来Rust的存在感日渐升高,但是其陡峭的学习曲线似乎总是令人望而生畏。不过谷歌的一项内部调查表明,关于Rust的“难学”或许只是一种谣传。,Rust到底难不难学?谷歌有了Go,为何还要支持Rust...
2年前
2690

Go:Map 和 内存泄露

大家好,我是程序员幽鬼。分享一篇关于 map 和“内存泄露”的文章。,摘要:map 总是可以在内存中增长;它从不收缩。因此,如果它导致一些内存问题,你可以尝试不同的选项,例如强制 Go 重新创建 ma...
5年前
820

如何快速学一门新语言?

我花了半个月时间学习Go​,就开发了商业项目,抗住了并发考验,并且成功被Go圈粉。,2022年初,入职新公司后,花了3天时间,学习GoFrame框架,提前完成了开发任务,在项目复盘会上成了同事口中的...
3年前
730

Go 项目使用 Makefile

Go 提供一个名为go的命令,该命令可自动下载、构建、安装和测试 Go 包和命令。,Go 提供go命令,官方的目的是为了不需要编写 Makefile,而是能够仅使用 Go 源代码本身中的信息来构建 G...
3年前
680

Go 数组和切片的介绍

了解使用数组和切片在 Go 中存储数据的优缺点,以及为什么其中一个更好。,在本文中,我将解释 Go 数组和切片,包括如何使用它们,以及为什么你通常要选择其中一个而不是另一个。,数组是编程语言中最流行的...
3年前
670

聊聊B-Tree的Golang实现

这次准备出一个关于B树的合集。在第一部分,先来介绍下B树的基本概念。,B树与bst等二叉树不同,B树是多叉树,而且B树是自平衡树。B树的Search、Insert、Remove算法时间复杂度都是O(l...
4年前
560

Go 语言内存逃逸案例

在「Go 语言逃逸分析」中,我们了解到内存分配的相关知识,栈空间分配开销小,堆空间分配开销大。,Go 语言编译器可以通过逃逸分析决定内存分配到栈空间或堆空间。但是,分配到栈空间的对象在某些情况中会逃逸...
4年前
550

PHP转Go,框架选什么?

这是一期会引起广泛讨论的内容,不亚于“PHP是世界上最好的语言”。,不管我们是否基于框架去开发,不管使用什么框架去开发。,6个字的内功心法一定要牢记:高内聚,低耦合。,不管是单体项目还是微服务,不管是...
3年前
500

在 Go 中生成随机的安全密码

你可以使用 Go 编程语言​ 提供的随机数生成器来生成由 ASCII 字符组成的难以猜测的密码。尽管本文中提供的代码很容易阅读,但是你仍需要了解 Go 的基础知识,才能更好地理解它。如果你是对 Go ...
3年前
500

Go原生插件使用问题全解析

本人在设计和落地基于Go原生插件机制的扩展开发产品时踩到了很多坑,由于这方面相关资料很少,因而借此机会做一个非常粗浅的总结,希望能对大家有所帮助。,本文只说问题和解决方案,不读代码。,通常而言,在计算...
5年前
490

彻底理解闭包实现原理

,闭包对于一个长期写 Java 的开发者来说估计鲜有耳闻,我在写 Python 和 Go 之前也是没怎么了解,光这名字感觉就有点"神秘莫测",这篇文章的主要目的就是从编译器的角度来分析闭包,彻底搞懂闭...
4年前
460

如何用Go实现一个ORM

为了提高开发效率和质量,我们常常需要ORM来帮助我们快速实现持久层增删改查API,目前go语言实现的ORM有很多种,他们都有自己的优劣点,有的实现简单,有的功能复杂,有的API十分优雅。在使用了多个类...
3年前
430

这不会又是一个Go的BUG吧?

hello,大家好呀,我是小楼。,最近我又双叒叕写了个BUG,一个线上服务死锁了,不过幸亏是个新服务,没有什么大影响。,出问题的是Go的读写锁,如果你是写Java的,不必划走,更要看看本文,本文的重点...
3年前
420

学会 Go 中的时间处理

​作为程序员,我们经常需要对时间进行处理。在 Go 中,标准库 time 提供了对应的能力。,本文将介绍 time 库中一些重要的函数和方法,希望能帮助到那些一遇到 Go 时间处理问题就需要百度的童鞋...
3年前
360

Go 学习:并发编程

,Go 语言在创建之初,CPU 多核发展正猛,Go 语言的创始人果断将面向多核、原生支持并发作为了 Go 语言的设计目标之一,所以在 Go 语言中使用并发有得天独厚的优势。,那么,什么是并发呢?,聊到...
4年前
310

为什么说Go字符串不能修改

在接触Go这么语言,可能你经常会听到这样一句话。对于字符串不能修改,可能你很纳闷,日常开发中我们对字符串进行修改也是很正常的,为什么又说Go中的字符串不能进行修改呢?,本文就来通过实际案例给大家演示...
4年前
300

简化 Go 中对 JSON 的处理

我的第一个 Go 工程需要处理一堆 JSON 测试固件并把 JSON 数据作为参数传给我们搭建的 API 处理。另一个团队为了给 API 提供语言无关的、可预期的输入和输出,创建了这些测试固件。,在强...
4年前
300

Go进阶面试题详解

逃逸分析是Go语言中的一项重要优化技术,可以帮助程序减少内存分配和垃圾回收的开销,从而提高程序的性能。下面是一道涉及逃逸分析的面试题及其详解。,有如下Go代码:,请问上面的代码中,变量x是否会发生逃逸...
2年前
290