golang切片扩容机制前言 golang的切片扩容机制是golang面试者绕不开的一扇大门,无论在面试提问,或者面试情景上都绕不开它,今天就说说我理解下的切片扩容。 golang的扩容机制:在go1.18之前有一个临界值为1024,小于1024的时候,切片先两倍扩容,如果两倍扩容后的容量还是不够,就直接以切片需要的容量作为容量。 在go1.18之后,临界值换成了256,小于256和前面相同,大于256公式变为(oldc 开发运维 2023-07-12 贤蛋大眼萌
为什么选择Julia?——为人工智能而生的语言为什么选择Julia? 当提到数据科学,机器学习,深度学习,人工智能等,大家第一个想到的工具一定是Python。不得不说,Python确实拥有最健全的生态,Numpy、Pandas、matplotlib、sklearn、tensorflow等等。如果你是刚开始入门数据科学,机器学习,深度学习,人工智能,Python无疑是最好的选择。但是,Python最致命的弱点,缓慢的运行效率就自然的暴露出来了, 开发运维 2023-07-12 向阳逐梦
Golang与Java全方位对比总结7大差异本文针对Golang与Java的基础语法、结构体函数、异常处理、并发编程及垃圾回收、资源消耗等各方面的差异进行对比总结,有不准确、不到位的地方还请大家不吝赐教。 一 、基础语法 Golang: 编码风格及可见域规则严格且简单;Java: 来说层次接口清晰、规范,主要表现有以下这些。 1、变量 a、变量声明及使用 在Java中:变量可以声明了却不使用 public static String toS 开发运维 2023-07-11 向阳逐梦
Golang实现通过蓝牙配置Linux系统WIFI背景和使用场景 在物联网项目中需要通过手机应用初始化设备的网络连接,物联网终端使用的是Linux操作系统,配置为单应用启动模式,没有提供图形桌面,为了让普通用户方便的初始化设备,需要使用手机蓝牙连接设备配置无线网络连接。 手机应用开发蓝牙连接功能,通过近场蓝牙连接设备,配置WI-FI的SSID和密码,手机端对应蓝牙功能本文先不做介绍,可以通过nRF Connect 或 LightBlue 应用测试 开发运维 2023-07-11 Escape
golang开发神器盘点:单元测试、benchmark、pprof、dlvJava中,我们用Junit做单元测试,用JMH做性能基准测试(benchmark),用async-profiler剖析cpu性能,用jstack、jmap、arthas等来排查问题。 作为一名比较新的编程语言,golang的这些工具是否更加好用呢? 单元测试 Java的单元测试需要使用第三方库,一般是Junit,配置起来比较复杂。在使用了golang之后发现golang自带的单元测试真的非常简单 开发运维 2023-07-11 捡田螺的小男孩
Python里面调用Golang函数,提速72倍!导读:立竿见影,方法简单。文 | kingname来源:未闻Code「ID: itskingname」 我们知道,在涉及到大量 CPU 计算的时候,Python 的运行效率可能不如其他语言。今天,我们不用 C 语言,而用 Go 语言。并且,我们这次不是做转换,而是直接用 Python 调用 Go 语言写的代码。 今天的文章内容需要使用 Linux 和 macOS 系统实现。或者你也可以使用 Win 开发运维 2023-07-11 Escape
Golang 函数和 C 函数深度对比:性能是差一些无论是什么语言,函数都是最常被使用到的东西。 我们对比一下 Golang 和 C 这两种语言的函数实现,进而我们能真正理解以下两个问题。 为什么 C 语言只能有一个返回值,而 Golang 中可以返回多个? Golang 函数调用在性能上和 C 比有何差异? 一、C 语言函数深究 我们准备一段简单的函数调用代码。 #include int func(int p){ return 开发运维 2023-07-11 醒在深海的猫
Golang 语言中 map 有哪些陷阱?01 介绍 在 Golang 语言中,map 是一个无序的键值对的集合。其中,键是唯一的,并且键的类型必须是可以通过操作符 == 进行比较的数据类型;值可以添加、查询和删除。 但是,在我们使用 Golang 语言中的 map 时,也是有一些陷阱需要我们注意。本文我们介绍一下 map 中有哪些陷阱。 02 map 未初始化 未初始化的 map,它的值是 nil。如果我们没有使用 Golang 内置函 开发运维 2023-07-11 大白菜程序猿
Golang 是面向对象编程风格的开发语言吗?01 介绍 Golang 语言是面向对象语言吗?Golang 语言官方的回答是 Yes and no。什么意思呢?Golang 语言是面向对象语言,Golang 语言也不是面向对象语言。 虽然 Golang 语言有类(struct)和方法(method),支持面向对象的编程风格,我们可以使用 Golang 语言的 struct 实现面向对象的封装特性,但是 Golang 语言没有面向对象的继承特性 开发运维 2023-07-11 共饮一杯
Golang反射学习:100行代码手写一个RPCgolang反射学习后做一个小练习,使用100行代码实现一个通用的RPC服务。 简要说明 golang 的RPC框架还是非常丰富的,比如 gRPC,go-zero, go-dubbo 等都是使用非常普遍的rpc框架。在go语言实现的RPC客户端中,大部分RPC框架采用的是使用生成代码的方式来构建RPC服务。即:定义好相应的接口后,需要通过命令生成相应的代码。采用这种方式的优点在于可以减少不必要的类 开发运维 2023-07-11 大猫
学习golang go语言实现web服务器之基本语法学习golang go语言实现web服务器,在此记录,欢迎大家学习和探讨。 安装 首先下载安装包 地址:https://golang.google.cn/dl/ 下载完成后一直点击下一步就可以了,安装完成后,已经自动配置了PATH的环境变量。 基本结构 以下是一个简单的例子 package main //包声明import "fmt" //引用包func main() { //创建方法fmt.Pr 开发运维 2023-07-11 贤蛋大眼萌
Go语言(Golang)有什么优秀之处呢?Go语言(Golang)在各个领域越来越受欢迎。无论是Web开发、云计算、网络编程还是人工智能等领域,Go语言都有广泛的应用。那么,Go语言究竟有什么优秀之处呢?本文将从以下五个方面探讨Golang的优秀之处。 一、简单易学 Go语言的设计初衷是为了提高编程效率,因此其语法和结构非常简单,易于学习。Go语言引入了垃圾回收机制,代码自动管理内存,不需要手动释放,减少了许多出错的可能性,提高了代码的可 开发运维 2023-07-11 贤蛋大眼萌
Golang 中new 和 make 函数有什么不同Golang 中 new() 函数是另外一种创建变量的方式,内建的 new(T) 函数为一个 T 类型的新项分配了 "零 "存储,并返回其地址,即 *T 类型的值。用 Go 的术语来说,它返回一个指向新分配的 T 类型的零值的指针。 Golang new() 函数 函数语法:func new(Type) *Type new() 返回的内存是清零的。 new() 只返回指向初始化内存的指针。 new 开发运维 2023-07-11 法医
Go语言开发中如何使用channel进行并发通信?在开发过程中,我们常常需要使用到Golang的channel,而当我们在使用channel完成了任务后,需要及时关闭channel以避免出现阻塞,进而达到优化程序的效果。 那么,什么情况下需要关闭channel呢?如何正确关闭channel呢?在Golang中,channel的关闭确实是一个相对较为复杂的话题,下面我们就来探究一下这个话题。 一、为什么需要关闭channel? 首先,需要明确一点的 开发运维 2023-07-10 剑圣无痕
golang实现mysql数据库备份的操作方法背景 navicat是mysql可视化工具中最棒的,但是,在处理视图的导入导出方面,它是按照视图名称的字母顺序来处理的,若视图存在依赖,在导入过程中就会报错。前面已经用python写了一个 背景 navicat是mysql可视化工具中最棒的,但是,在处理视图的导入导出方面,它是按照视图名称的字母顺序来处理的,若视图存在依赖,在导入过程中就会报错。前面已经用python写了一个,但在使用过程中,遇到 数据运维 2023-04-28 共饮一杯
VS Code 无法下载 Go 插件的工具包VS Code 安装 Go 插件之后,打开 Go 项目时,编辑器会提示安装工具包。但是 golang.org 无法直接访问,我们需要将包手动下载到 GOPATH 目录,进行安装。 创建包目录 1 2 cd $GOPATH mkdir -p src/golang.org/x 下载包 1 2 3 cd src/golang.org/x git clone https://github.com/gola 云运维 2023-01-04 大树
一些常见的计算机面试题计算机基础 堆和栈 什么时候用堆?什么时候用栈?栈有什么作用?Golang 的变量在栈还是堆?堆、栈有没有上限?有的话和什么有关? 数据结构 Slice 空间是怎样分配的?双倍扩容,原来数据复制过去。Golang 的 map 是什么结构 Golang 的 map 是什么结构,遍历是否有序, 什么是 Hash 表? Hash 表的查询效率? 解决碰撞有什么方法? 线程 线程是否越多越好吗? 线程切换 云运维 2023-01-04 大白菜程序猿