“Rust难学”只是一个谎言

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

Go:Map 和 内存泄露

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

如何快速学一门新语言?

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

Go 项目使用 Makefile

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

Go 数组和切片的介绍

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

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

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

Go 语言内存逃逸案例

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

聊聊B-Tree的Golang实现

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

PHP转Go,框架选什么?

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

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

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

彻底理解闭包实现原理

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

如何用Go实现一个ORM

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

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

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

学会 Go 中的时间处理

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

Go 学习:并发编程

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

简化 Go 中对 JSON 的处理

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

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

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

Go内存分配和逃逸分析-理论篇

大家好,我是阳哥。,今天和大家聊聊Go语言的「内存分配」和「逃逸分析」。,要搞清楚GO的逃逸分析一定要先搞清楚内存分配和堆栈:,内存既可以分配到堆中,也可以分配到栈中。,要搞清楚上面的问题,我们先来聊...
5年前
340