大家好,今天给大家分享的知识点是 Go 中的`nil`用法详解,在实际工作中,看到很多同学使用`nil`的时候还是不太理解,导致了很多奇怪的问题发生(尤其是和`nil` 做比较经常出现走入到奇怪的分支)。如果觉得一个技术点奇怪,不是我们所期望的效果,原因是我们对其原理不够了解,不够熟悉。 那今天就一起探索下这块的知识。
Go 存在 4 种类型转换分别为:断言、强制、显式、隐式。在日常开发中常说的类型转换是指断言,显示是基本的类型转换、隐式使用到但是不会注意到。断言、强制、显式三类在 Go 语法描述中均有说明,隐式是在日常使用过程中总结出来。Go语言程序中对指针获取反射对象时,可以通过 reflect.Elem() 方法获取这个指针指向的元素类型。这个获取过程被称为取元素,等效于对指针类型变量做了一个(*)操作。
字符串和数组类型在面试中经常会考察,主要考察边界条件是否清晰,逻辑是否清晰。文章将常提及的一些问题放在一起进行对比学习,可以帮助读者快速掌握相关算法问题。
排序算法在面试题经常被问题,文章对排序类的面试进行了总结, 前面的几个排序在面试中经常会出现,后边的桶排序 和 堆排序较少遇到,可以作为知识进行拓展,不必要必须会写。 最后在面试中经常遇到的排序的一些变种题目。希望在面试中进行顺利。
回文类型题目在面试中经常遇到,主要用到的就是动态规划矩阵,文章对相关知识点做了总结,方便大家去理解,后续会有更多的例子补充进来,如果喜欢希望收藏并关注。
算法题二叉树部分面试题,在面试前是很有必要针对性的刷一些题,很多朋友的实战能力很强,但是理论比较薄弱,面试前不做准备是很吃亏的。算法题作为面试的核心环节,是代码编写能力的重要体现。
文章介绍了58同城大前端(H5,Hybird,IOS,Android)性能优化流程,从指标采集(数据入库)到数据分析,以及一些重要的性能优化经验,写的非常详细。性能优化作为前端重要且必要的指标基建,非常推荐大家阅读。
本章节给为大家分享一篇,如何在容器中创建centos8环境,可以用来学习或者模拟一些线上Centos8的操作,例如,来做配置ssh,sftp,web服务等。
给大家分享一个保姆级教程,Go如何在docker环境下部署Go应用程序。会解决Go程序部署过程中的构建,镜像产物大小,时区等问题。
通道(channel)介绍:Go语言设计团队的首任负责人Rob Pike对并发编程的一个建议 是不要让计算通过共享内存来通讯,而应该让它们通过通讯来共享内存。 通道机制就是这种哲学的一个设计结果。我们只应该让一个通道唯一的发送者关闭此通道。 称此原则为通道关闭原则。通过共享内存来通讯 和 通过通讯来共享内存 是并发编程中的两种编程风格。 当通过共享内存来通讯的时候,需要一些传统的并发同步技术(比如互斥锁)来避免数据竞争。