原文链接:Python学习路线(2022)(https://mp.weixin.qq.com/s/CyJ92CD1xnihlpDqj8Yw)前几天整理了一份Go学习路线(2022)(https://mp.weixin.qq.com/s/Dwf98JFUnRij0Ha7o3ZSHQ),广受好评。那么趁火打劫,不是,是趁热打铁,又整理了一份Python学习路线。内容依然是从入门到进阶,既有教程,也有经
我整理了一份 Go 开发路线,这份开发路线不以数量取胜,努力做到精简。从基础到进阶,从理论到实战
Go 语言中的 map 是一个非常常用的数据结构,它允许我们快速地存储和检索键值
最近有读者留言说,平时在写代码的过程中,是会对字符串进行修改的,
Go 语言中的 map 是一种非常强大的数据结构,它允许我们快速地存储和检索
原文链接: 为什么说 Go 语言字符串是不可变的? 最近有读者留言说,平时在写代码的过程中,是会对字符串进行修改的,但网上都说 Go 语言字符串是不可变的,这是为什么呢? 这个问题本身并不困难,但对于新手来说确实容易产生困惑,今天就来回答一下。 首先来看看它的底层结构: type stringStruct struct { str unsafe.Pointer len int }
原文链接: Go 语言 map 如何顺序读取? Go 语言中的 map 是一种非常强大的数据结构,它允许我们快速地存储和检索键值对。 然而,当我们遍历 map 时,会有一个有趣的现象,那就是输出的键值对顺序是不确定的。 现象 先看一段代码示例: package main import "fmt" func main() { m := map[string]int{
原文链接: Go 语言 map 是并发安全的吗? Go 语言中的 map 是一个非常常用的数据结构,它允许我们快速地存储和检索键值对。然而,在并发场景下使用 map 时,还是有一些问题需要注意的。 本文将探讨 Go 语言中的 map 是否是并发安全的,并提供三种方案来解决并发问题。 先来回答一下题目的问题,答案就是并发不安全。 看一段代码示例,当两个 goroutine 同时对同一个 map 进行
原文链接: Go 语言切片是如何扩容的? 在 Go 语言中,有一个很常用的数据结构,那就是切片(Slice)。 切片是一个拥有相同类型元素的可变长度的序列,它是基于数组类型做的一层封装。它非常灵活,支
在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。级题目
最近被同事吐槽了,说我代码提交说明写的太差。其实都不用他吐槽,我自己心里也非常清楚。毕竟很多时候犯懒,都是直接一个 -m "fix" 就
循环语句是一种常用的控制结构,在 Go 语言中,除了 for 关键字以外,还有一个 range 关键字,可以使用 fo
在 Go 中,如果 interface{} 作为函数参数的话,是可以传任意参数的,然后通过类型断言来转换。 举个例子: 不管是传 int 还是 string,最终都能输出正确
在 Go 语言中,struct 是一种常见的数据类型,它可以用来表示复杂的数据结构。在 struct 中,我们可以定义多个字段,每个字段可
原文链接: 为什么 Go for-range 的 value 值地址每次都一样? 循环语句是一种常用的控制结构,在 Go 语言中,除了 for 关键字以外,还有一个 range 关键字,可以使用 for-range 循环迭代数组、切片、字符串、map 和 channel 这些数据类型。 但是在使用 for-range 循环迭代数组和切片的时候,是很容易出错的,甚至很多老司机一不小心都会在这里翻车
原文链接: Go 语言切片是如何扩容的? 在 Go 语言中,有一个很常用的数据结构,那就是切片(Slice)。 切片是一个拥有相同类型元素的可变长度的序列,它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。 切片是一种引用类型,它有三个属性:指针,长度和容量。 底层源码定义如下: type slice struct { array unsafe.Pointer len
原文链接: Go 语言数组和切片的区别 在 Go 语言中,数组和切片看起来很像,但其实它们又有很多的不同之处,这篇文章就来说说它们到底有哪些不同。 另外,这个问题在面试中也经常会被问到,属于入门级题目,看过文章之后,相信你会有一个很好的答案。 数组 数组是同一种数据类型元素的集合,数组在定义时需要指定长度和元素类型。 例如:[4]int 表示一个包含四个整数的数组,数组的大小是固定的。并且长度是
原文链接: Git Commit Message 应该怎么写? 最近被同事吐槽了,说我代码提交说明写的太差。其实都不用他吐槽,我自己心里也非常清楚。毕竟很多时候犯懒,都是直接一个 -m "fix" 就提交上去了。 这样做是非常不好的,我也是自食恶果,深受其害。特别是查看历史提交记录时,想通过提交说明来了解当时的功能变更,基本不可能,都得点进去看代码才行。 所以这两天看了一些如何
本篇文章来介绍一道非常常见的面试题,到底有多常见呢?可能很多面试的开场白就是由此开始的。那就是 new 和 make 这两个内置函数的区别。
原文链接: Go 语言 new 和 make 关键字的区别 本篇文章来介绍一道非常常见的面试题,到底有多常见呢?可能很多面试的开场白就是由此开始的。那就是 new 和 make 这两个内置函数的区别。 其实这个问题本身并不复杂,简单来说就是,new 只分配内存,而 make 只能用于 slice、map 和 chan 的初始化,下面我们就来详细介绍一下。 new new 是一个内置函数,它会分配一
最近开发的安全管理平台新增了很多工单申请流程需求,比如加白申请,开通申请等等。最开始的两个需求,为了方便,也没多想,就直接开发了对应的业务代码。 但随着同类需求不断增多
在Go中,如果interface{}作为函数参数的话,是可以传任意参数的,然后通过类型断言来转换。举个例子:gopackagemainimport"fmt"funcfoo(vinterface{}){ifv1,ok1:=v.(string);ok1{fmt.Println(v1)}elseifv2,ok2:=v.(int);ok2{fmt.Println(v2)}}funcmain(){foo(2
最近,团队新入职了一些小伙伴,在开发过程中,他们问我 Git 分支是如何管理的,以及应该怎么提交代码? 我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范的
!(https://s2.51cto.com/images/100/blog/error_upload.png)原文链接:Git分支管理策略(https://mp.weixin.qq.com/s/hRd1UNMRutmA6MGmswweBw)最近,团队新入职了一些小伙伴,在开发过程中,他们问我Git分支是如何管理的,以及应该怎么提交代码?我大概说了一些规则,但仔细想来,好像也并没有形成一个清晰规范
在面试过程中,一般都会有一个固定环节,那就是在临近结束时,面试官会问求职者:你还有什么问题吗? 其实,这是一个很
在面试过程中,一般都会有一个固定环节,那就是在临近结束时,面试官会问求职者:你还有什么问题吗?其实,这是一个很好的了解公司,了解未来团队的机会,但很多求职者却不知道问什么,或者是问不到点儿上,错过了这个机会。我最近逛GitHub时刚好看到一个仓库,这个仓库是一份求职者向面试官的提问清单。内容包含关于职位,公司,文化,工作内容等一系列问题,覆盖面还是挺广的。大家在看的时候可以记一些自己感兴趣的,然后
书单一共包含 10 本书,分为入门 5 本,进阶 5 本。我读过其中 7 本,另外 3 本虽然没读过,但也是网上推荐比较多的。 虽然分了入门和进阶,但是很多书中这两部分内容是都包含了的。大家看的时候可
原文阅读: 假如,面试的时候说真话 做程序员这么长时间了,经常能够听到一句话:面试造火箭,入职拧螺丝。而且,随着就业环境越来越卷,现在只会造火箭恐怕都不行了,得能造个空间站才行。 回想自己刚毕业那会儿
原文阅读:假如,面试的时候说真话(https://mp.weixin.qq.com/s/KXhiN0ICOU937jFGmOx_vw)做程序员这么长时间了,经常能够听到一句话:面试造火箭,入职拧螺丝。而且,随着就业环境越来越卷,现在只会造火箭恐怕都不行了,得能造个空间站才行。回想自己刚毕业那会儿,哪有什么八股文需要背,而且面试内容也更贴近实际。更不会有面试官刻意挖一些生僻的技术点,不是为了考察面试
之前看过一期《圆桌派》,嘉宾是姜文,当时也正好是电影《邪不压正》的宣传期。姜文谈到彭于晏时说,除了很欣赏他的「身体」之外,特别佩服他的自律,对自己身材的管理。其实能把身材塑造成那样,并且长时间保持在一定的水平上是相当难的。人们都喜欢自由,向往自由。但自由肯定不是想干嘛就干嘛,而是应该能够通过自己的思想控制自己的身体,或者行为。也就是说:自律才有自由。那怎么才能够做到自律呢?不知道大家有没有相同的疑
Copyright © 2005-2023 51CTO.COM 版权所有 京ICP证060544号