9 吕吕

深圳市腾讯计算机系统有限公司 - 高级软件工程师

我要认证

会敲键盘的猩猩

等级
TA的排名 491

Golang channel 快速入门

for range channel 时,close channel 会发生什么?

2020-07-24 20:26:00

Mac 必知常用快捷键

从 Windows 切换到 Mac,我想你最不习惯的便是键盘的使用。Mac 电脑一般都不怎么用鼠标,因此其触摸屏有丰富的单指、双指、三指甚至四指的操作之外,再加上众多的快捷键,足以应对日常操作。本文将介绍 Mac 电脑最常见的快捷键,也是使用 Mac 必须掌握的快捷键。我相信,当你掌握了本文介绍的快捷方式后,对 Mac 的使用将不会那么陌生,甚至习惯不再使用鼠标。Window 用习惯了的用户会经常用到系统键和 Ctrl 键来进行快捷键的操作,Mac 上的Command 一般与 Window 的 Ctr

2020-07-24 02:46:48

Go 结构体格式化输出

在软件系统中定位问题时日志不可或缺,但是当一个系统功能繁多,需要打印的日志也多如牛毛,此时为了提高我们浏览日志的效率,便于阅读的输出格式必不可少。打印结构体是打印日志时最长见的操作,但是由于结构体内容较多,都在一行时,不易于阅读,所以我们可以借助结构体默认的JSON 结构,来进行 JSON 的格式化输出。打印在一行,使用 %+v 显示结构体字段名:package mainimport ( fmt "fmt")// Student 学生信息type Student struct { Na

2020-07-13 15:18:57

面试官,你为什么老是问我”闭包“

前言写这边博文的背景是前段时间在参加深圳鹏城实验室后台研发工程师一职时被问及闭包是什么,之前对闭包的理解只是停留在使用层面,并未做深层次的了解。我的回答是闭包可以让内部函数访问其所在函数的局部变量。这个回到好像并非是面试官想要的答案,然后又问到闭包的学术性定义是什么,我懵了,戳中了我的知识盲区。鉴于闭包是面试求职过程中被高频问到的一个知识点,且闭包这个术语因难以定义而臭名昭著,我们有必要对其有个全面透彻的了解。定义了解一个事物,最直接方式是看其定义。给一个事物下定义也是一件非常难的一件事情。下面看一下

2020-07-10 12:27:46

3 年大厂工作经验面试竟然要我手写 atoi 函数

手写代码是面试过程常见的环节之一,但是一般都是手写算法题,此次面试官居然要我写一个基本的 C 语言 atoi,内心有点不屑,但是毕竟是面试,没得选择,只能接受了。先说一下 atoi 函数的功能,它是一个 C 标准库函数,将给定的 C 风格字符串转换为 int。本题虽然简单,但是如果之前没有练习书手写 atoi,要想写出一个让面试官满意的接近标准库水准的 atoi 并非易事,因为有不少地方需要考虑。下面列出我当时遇到的问题:(1)如果传入的参数非法,比如并非是一个数字型字符串,函数该返回多少来表示参数.

2020-06-16 17:17:53

二叉树翻转(递归+非递归)

二叉树翻转是一道经典的面试编程题,经常出现在各大公司的招聘

2020-05-29 15:04:16

二叉树构建

二叉树的前序、中序和后序序列中的任何一个都不能唯一确定一棵二叉树,二叉树的构建主要有两大种方法。第一种是根据前序+中序或者后序+中序来唯一确定二叉树的结构,第二种是根据二叉树对应的扩充二叉树的先序或者后序序列来确定。网上有很多blog和资料都没有将上面的方法列举出来,有个文档资料里说根据扩充二叉树的任意一个遍历序列就能唯一确定这棵二叉树。这个说法是错误的,这份文档见here。举一个反例即可证明根据扩充二叉树的中序遍历序列是不能唯一确定二叉树的结构,以文档中的描述为例:上图中扩展二叉树的中序遍历序列

2020-05-25 14:16:11

二叉树遍历(深度优先+广度优先)

二叉树的遍历分为两类,一类是深度优先遍历,一类是广度优先遍历。1.深度优先遍历二叉树的深度优先遍历有三种方式,先序(先根次序)、中序(中根次序)和后序(后根次序)遍历。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归后序遍历实现起来相对来说要难一点。下面一一讲解具体的递归和非递归实现。1.1 先序遍历先根次序遍历按照“根结点 > 左

2020-05-22 13:05:07

认识 URL 及其编码

文章目录1.URL 是什么2.URL 一般语法参考文献1.URL 是什么URL(Uniform Resoure Locator),中文译为统一资源定位符,是 Internet 上资源的地址,比如一个文本文件,一张图片,一个视频。通过 URL 我们可以知道网络资源的位置以及访问它的协议。URL 是由 Tim Berners-Lee 与互联网工程任务组织(IETF)URI 工作小组共同制定并成为一个互联网标准,收录于 RFC1738。2.URL 一般语法正如有许多不同的获取资源的方法一样,描述这些资源

2020-05-19 20:29:49

Goland 远程开发配置

项目开发过程中,一般采用“本地编写+远端编译”的开发模式,即在本地编写完代码然后将代码放到远端的编译机器上编译调试。因为这种开发模式,我们需要采用远程开发的方式来提高开发效率,即编写的代码能够自动同步到远端,感觉上像是直接编辑远端的代码。

2020-04-28 21:23:20

编码标识符缩写建议

编码过程中,对一个标识符(变量,函数或类型)取名时,如果标识符过长,为了保持代码的简洁,需要缩写。缩写时,应采用统一的缩写规则,避免缩略语含糊不清,这样才能够保证不同的开发人员看到缩写的标识符时就能明白其含义。敬请期待

2019-10-18 15:06:00

使用 Go Modules

翻译自 Go 官方博文 Using Go Modules。Tyler Bui-Palsulich and Eno Compton19 March 2019简介这篇文章是系列文章的第一部分。Part 1 — Using Go Modules (this post)Part 2 — Migrating To Go ModulesPart 3 — Publishing Go Mod...

2020-04-18 22:31:43

GoLand 快速入门教程

GoLand 是一款由捷克软件开发公司 JetBrains 专为 Go 开发的跨平台的商业 IDE。Goland 支持

2020-04-17 19:03:21

Golang 单引号、双引号与反引号

单引号单引号在 Golang 表示一个字符,使用一个特殊类型 rune 表示字符型。rune 为 int32 的别名,它完全等价于 int32,习惯上用它来区别字符值和整数值。rune 表示的是字符的 Unicode 码值。package mainimport( "fmt")func main(){ var c rune = '你' fmt.Printf("c=%v ct=%T...

2020-04-16 16:35:22

Linux 命令(137)—— strace 命令

1.命令简介strace 命令是一个集诊断、调试、统计于一体的工具,我们可以使用 strace 对程序的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者是了解程序工作过程的目的。当然strace 与专业的调试工具比如说 gdb 之类的是没法相比的,因为它不是一个专业的调试器。strace 的最简单的用法就是执行一个指定的命令,在指定的命令结束之后它也就退出了。在命令执行的过程中...

2020-04-12 23:16:57

程序员专属段子集锦 0

1.编程较低犯罪率。2.程序员的好只有阿姨懂。3.租房只租程序员。4.程序员工作写照。5.我还没下班。6.PHP=拍黄片?7.那个男的是谁?8.程序员压力没那么大。9.从删库到跑路。参考文献[1]程序员才懂的小段子...

2019-02-20 17:04:24

C# DataTable 用法简介

C# DataTable 的常见用法:(1)新建数据表。DataTable dt=new DataTable();如果带个String参数,此参数表示表名。(2)向表添加列。//数据库的Nvarchar等类型,在此可用String兼容。可不指明数据类型DataColumn dc = new DataColumn("商品编号", typeof(system.string));dt.C...

2020-04-02 20:28:46

Linux 命令(136)—— curl 命令

curl 命令是一个利用 URL 规则在 Shell 终端命令行下工作的文件传输工具;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称 curl 为下载工具。作为一款强力工具,curl 支持包括HTTP、HTTPS、FTP 等众多协议,还支持 POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。2....

2020-03-09 00:40:18

Linux 命令(135)—— gpasswd 命令

1.命令简介gpasswd 是Linux下工作组文件 /etc/group 和 /etc/gshadow 管理工具。系统管理员可以使用 -a 选项定义组管理员,使用 -m 选项定义成员,由组管理员用组名调用的 gpasswd 只提示输入组的新密码。2.命令格式gpasswd [OPTIONS] GROUP3.选项说明-a, --add USER 向组 GROUP 中添加用户 USE...

2020-03-08 23:32:13

Linux 命令(134)—— groupmod 命令

1.命令简介groupmod(group modify)是系统管理员命令,用于更改群组识别码或名称。不过大家还是要注意,用户名不要随意修改,组名和 GID 也不要随意修改,因为非常容易导致管理员逻辑混乱。如果非要修改用户名或组名,则建议大家先删除旧的,再建立新的。2.命令格式groupmod [OPTIONS] GROUP3.选项说明-g, --gid GID 将组 ID 改为 G...

2020-03-08 23:20:45

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 图书勋章
    图书勋章
    CSDN技术图书作者专属勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 新人勋章
    新人勋章
    用户发布第一条blink获赞超过3个即可获得
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。