xdm ,写 C/C++ 语言的时候有格式控制符,例如 %s , %d , %c , %p 等等在写 golang 的时候,也是有对应的格式控制符,也叫做占位符,写这个占位符,需要有对应的数据与之对应,不能瞎搞基本常见常用的占位符%s%d%v , %v+ , %+v%T , %q写一个 demo 来
背景和使用场景在物联网项目中需要通过手机应用初始化设备的网络连接,物联网终端使用的是Linux操作系统,配置为单应用启动模式,没有提供图形桌面,为了让普通用户方便的初始化设备,需要使用手机蓝牙连接设备配置无线网络连接。手机应用开发蓝牙连接功能,通过近场蓝牙连接设备,配置WI-FI的SSID和密码,手
使用Go语言经常会犯的错误。当我们遍历一个数组,如果用range获取变量保存到另一个数组或者slice时,会遇到令人困惑的问题。func main() { slice := []int{1, 2, 3} var ptrSlice []*int for _, v := rang
Go,也称为 Golang 或 Go 语言,是Google 开发的一种开源编程语言。软件开发人员在一系列操作系统和框架中使用 Go 来开发 Web 应用程序、云和网络服务以及其他类型的软件。Go 是静态类型的、显式的,并且是在C编程语言之后建模的。由于 Go 语言的快速启动时间、低运行时开销以及无需
遍历数组的同时修改数组元素,能否得到一个永远都不会停止的循环?func main() { s := []int{1, 2, 3} for _, v := range s { s = append(s, v) } fmt.Println(s) } 输出:
刚学 C 语言的时候,学到指针这一章,就会有让我们写链表的需求,头插法,尾插法,翻转链表,合并链表,约瑟夫环等等。学的不亦乐乎,但是 对于指针刚学的时候,真是摸不着脑壳,不知道 xdm 会有这种感受吗,动不动就段错误。今天,我们来看看 golang 写链表是有多爽。思路大概是这样的:这里我们简单写,
问题描述由于我的编译机器是CentOS8系统,而我要部署的系统是CentOS7.6,那么当你编译一个golang二进制文件的时候,你会因为glibc的不同导致在低系统版本运行不起来。报错现象:‘GLIBC_2.28’ not found因为Centos7.6默认是glibc-2.17$ rpm -
01介绍在 Golang 语言中,我们可以在函数(自定义和部分内置)或方法中使用 defer 关键字注册延迟调用(一个或多个),多个延迟调用的执行顺序是先进后出(FILO)。并且不会受到函数执行结束退出,显式调用 return 和主动(或被动)触发 panic 的影响,注册成功的所有延迟调用都会被执
Java中,我们用Junit做单元测试,用JMH做性能基准测试(benchmark),用async-profiler剖析cpu性能,用jstack、jmap、arthas等来排查问题。作为一名比较新的编程语言,golang的这些工具是否更加好用呢?单元测试Java的单元测试需要使用第三方库,一般是J
导读:立竿见影,方法简单。文 | kingname来源:未闻Code「ID: itskingname」我们知道,在涉及到大量 CPU 计算的时候,Python 的运行效率可能不如其他语言。今天,我们不用 C 语言,而用 Go 语言。并且,我们这次不是做转换,而是直接用 Python 调用 Go 语言
无论是什么语言,函数都是最常被使用到的东西。我们对比一下 Golang 和 C 这两种语言的函数实现,进而我们能真正理解以下两个问题。为什么 C 语言只能有一个返回值,而 Golang 中可以返回多个?Golang 函数调用在性能上和 C 比有何差异?一、C 语言函数深究我们准备一段简单的函数调用代
01介绍在 Golang 语言中,map 是一个无序的键值对的集合。其中,键是唯一的,并且键的类型必须是可以通过操作符 == 进行比较的数据类型;值可以添加、查询和删除。但是,在我们使用 Golang 语言中的 map 时,也是有一些陷阱需要我们注意。本文我们介绍一下 map 中有哪些陷阱。02ma
01介绍工作中我们经常会遇到解码JSON格式的数据,本文通过4个示例介绍工作中常用到的四种 JSON格式。在 Golang语言中,通常是使用标准库的encoding/json包中的函数Unmarshal解码JSON格式的数据,下面我们先介绍一下该函数如何使用,再通过4个示例代码来演示一下如何在Gol
01介绍Golang 语言是面向对象语言吗?Golang 语言官方的回答是 Yes and no。什么意思呢?Golang 语言是面向对象语言,Golang 语言也不是面向对象语言。虽然 Golang 语言有类(struct)和方法(method),支持面向对象的编程风格,我们可以使用 Golang
golang反射学习后做一个小练习,使用100行代码实现一个通用的RPC服务。简要说明golang 的RPC框架还是非常丰富的,比如 gRPC,go-zero, go-dubbo 等都是使用非常普遍的rpc框架。在go语言实现的RPC客户端中,大部分RPC框架采用的是使用生成代码的方式来构建RPC服
C 已经快 50 岁了。对于一瓶葡萄酒来说,这个年龄很棒,但对于快速发展的行业中的编程语言而言,它就不同了。在过去的十年中,出现了许多具有不同风格的新语言,所有这些语言都试图在某种程度上成为 C 语言的替代者。当一种新语言或多或少变得流行时 —— 开发人员开始编写基准测试,以展示该语言编写的软件性能
01介绍在 Golang 语言并发编程中,经常会遇到监控 goroutine 运行结束的场景,通常我们会想到使用 WaitGroup 和 chan + select,其中 WaitGroup 用于监控一组 goroutine 是否全部运行结束,chan + select 用于监控一个 gorouti
本文将深入Property的部分进行介绍,相比较[[reflection function implement]],Property涉及的Tag Dispatch和中间过程更复杂,整体的实现需要一步一步来理清,我们还是从例子入手,从Property的注册和使用来展开整体的实现。一、 Property
文将深入Function这部分进行介绍,主要内容是如何利用模板完成对C++函数的类型擦除,以及如何在运行时调用类型擦除后的函数。有的时候我们需要平衡类型擦除与性能的冲突,所以本文也会以lua function wrapper这种功能为例,简单介绍这部分。一、 Function示例代码//------
Go实在是太棒了。一处编译,处处运行,没有依赖,毫无麻烦!不过麻烦的事情来了。我们写一个程序,就是想在别人的电脑上运行的。然而,Go语言的默认机制,会泄漏我们的一些信息,虽然不多,但也有点尴尬。本文结合网上的一些常用方法,总结出一套通用的简单易行的保护措施。删除调试符号默认情况下go编译出的程序在运