学为所用
码龄15年
关注
提问 私信
  • 博客:166,309
    166,309
    总访问量
  • 60
    原创
  • 2,003,684
    排名
  • 115
    粉丝
  • 3
    铁粉

个人简介:实战为王,IT技术重度爱好者,物联网骨灰级发烧友!

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:河北省
  • 加入CSDN时间: 2009-06-03
博客简介:

IT技术实战

博客描述:
以实战技术为主,分享实战经验!
查看详细资料
个人成就
  • 获得235次点赞
  • 内容获得98次评论
  • 获得969次收藏
  • 代码片获得682次分享
创作历程
  • 30篇
    2022年
  • 1篇
    2021年
  • 4篇
    2020年
  • 25篇
    2019年
成就勋章
TA的专栏
  • 物联网
    1篇
  • 物联网之基础
    13篇
  • 物联网之云端
    2篇
  • 物联网之嵌入式
    7篇
  • 开发工具
    3篇
  • Flutter
    1篇
  • MySQL
    3篇
  • 单片机嵌入式开发
    5篇
  • Go语言
    27篇
  • Python语言
    4篇
  • PHP语言
  • 服务架构
    5篇
  • 硬件电路
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

186人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Go语言实践[回顾]教程27--详解Go语言结构体 struct 定义与面向对象编程思想

在 Go 语言中没有其他常用语言中“类”的概念,那么面向对象编程的理念是不是就无法在 Go 语言中应用呢?答案是可以,虽然没有“类”,但是取而代之的是“结构体 struct”。Go 语言依据强大的类型系统,使用结构体可以构建各种新的数据类型,再配以其方法,就可以灵活实现各种对象所需的基础定义。这种方式简单干净,没有为了实现继承和多态而额外添加虚拟函数指针,尽量减少相互关联,多态则由接口来实现,具有简单、平坦、直接、易懂、易记等鲜明特点。
原创
发布博客 2022.10.24 ·
807 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

Go语言实践[回顾]教程26--详解Go语言函数的闭包

闭包,其他很多开发语言也有,但是很多开发者对闭包感觉很难懂,也很难用,甚至干脆弃之不用。但既然很多语言包括 Go 语言也提供了闭包这种语法,就肯定有其必要性和某些适用场景。这一节,我们就实践一下 Go 语言的闭包,希望可以了解其特点,理解其原理,知道其适用场景,以便在编程开发中用好闭包,为编程扩展思路发挥作用。
原创
发布博客 2022.10.17 ·
607 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Go语言实践[回顾]教程25--详解Go语言函数的延迟执行调用 defer

在实际项目开发中,在代码逻辑中经常会有涉及到成对的操作,比如打开文件与关闭文件、加锁与解锁、接收请求与回复请求、申请资源与释放资源等。这些操作在开发中常让人忘记后面的操作,只顾写前面的逻辑,忘记关闭与释放资源。如果能有一个方法在打开、申请资源后,就立刻写上关闭、释放资源代码,但不是立刻执行,而是函数执行完其他代码后再执行这些关闭释放代码,那就让开发时针对这类成对出现的操作变得容易很多,BUG率降低很多。Go 语言针对这种情况为我们提供了 defer 关键字。
原创
发布博客 2022.10.16 ·
470 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程24--详解Go语言函数的签名、变量、匿名

在 Go 语言中函数也是一种类型,函数类型又叫函数签名。函数可以像其他类型一样声明变量,称之为函数变量。函数在特定场景也可以没有名字,称之为匿名函数。这节我们就重点实践一下 Go 语言的函数类型(函数签名)、函数变量、匿名函数这些方面的编程基础。
原创
发布博客 2022.10.15 ·
801 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Go语言实践[回顾]教程23--详解Go语言函数的声明、变参、参数传递

函数是 Go 语言源代码的基本构造单位,其用花括号将具有一完整意义或功能的代码块包裹起来并定义名称,以便根据逻辑需要随时调用整体执行其内的代码块。编写函数的主要目的是分解复杂的代码逻辑,将一个需要很多行代码才能解决的问题封装成一个函数完成这个任务,然后遇到同一个任务可以多次调用该函数,这有助于代码重用及使代码结构清晰易懂。
原创
发布博客 2022.10.14 ·
735 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Go语言实践[回顾]教程22--详解Go语言的流程控制

编程语言代码的执行顺序,本质上说就是 “顺序” 和 “跳转” 这两种。顺序,就是按照代码书写顺序从上至下、从左至右(有优先级提权的先执行)的顺序依次执行(底层实际上是按照程序指令存储器上的存放顺序逐条执行)。跳转,就是在顺序执行中遇到跳转语句就跳转到指定的某处开始继续顺序执行。
原创
发布博客 2022.10.12 ·
563 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程21--详解Go语言的空值、零值、nil

在很多编程书籍和教程当中,我们经常看到 零值、空值 这类描述,还经常看到 null、nil 这类的值定义。那么在 Go 语言里,零值、空值、nil 又确切的代表什么呢,我们就详细描述一下。
原创
发布博客 2022.10.11 ·
2094 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

Go语言实践[回顾]教程20--详解Go语言复合数据类型之映射 map

我们前面了解过数组,知道数组的元素是通过位置号(索引号)有序排列的,获取元素也是通过索引获取的。而 map 类型与数组相似,也是由元素集合而成。但是 map 的元素不是有序排列的,也没有位置号(索引号),取而代之的是 键名(索引名),也就是要给每一个元素取一个唯一的名字,然后对应一个元素值。这样一个完整元素就是一个键值对形式,这与 PHP 的键值对数组、Python 的字典结构一样。
原创
发布博客 2022.10.10 ·
375 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程19--详解Go语言复合数据类型之切片 []

上一节我们了解了 Go 语言的数组,发现数组是固定长度的,一旦声明就不可更改元素数量。这个特性就使数组无法在程序运行阶段动态增减元素,使用场景受到很大制约。而且数组变量整体赋值时,也是值传递,这也影响了对这种集合类数据操作的性能。因此 Go 语言提供了另一种数据类型,就是切片(slice)。
原创
发布博客 2022.10.09 ·
408 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Go语言实践[回顾]教程18--详解Go语言复合数据类型之数组 [...]

数组,顾名思义就是数据的组合,但必须是相同类型数据。Go 语言的数组是一个由固定长度(元素个数,零个或多个)的相同唯一类型元素(数据项)组成的序列,元素的类型可以是任意的原始类型和自定义类型,且这些元素已经按照在数组中的位置进行了自动索引编号。因 Go 语言数组不支持动态创建,长度固定,所以更适合原始预置类数据的定义,需要有足够动态特性的请使用后面章节介绍的切片。
原创
发布博客 2022.10.08 ·
472 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程17--详解Go语言复合数据类型之指针 Pointer

Go 语言也提供了类似 C/C++ 语言中的指针,只是不允许对指针偏移运算。指针常被誉为 C/C++ 性能卓越的根本,但也是很多程序员对 C/C++ 编程中最难把握的部分,饱受诟病的也是指针的运算和内存释放。Go语言禁止对指针偏移运算,规避了因指针运算引起的数据修改风险和内存溢出现象,且又使垃圾回收效率变得更高。
原创
发布博客 2022.10.06 ·
594 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程16--详解Go语言的各种引号及整数进制

在上一节中我们涉及到字符变量和字符串变量,在初始化及赋值时使用了单引号和双引号,其实还有反引号,那这些引号有什么不同,各用在什么场景中呢?前面整数赋值和格式化输出的时候,也看到了除 10 进制外还有 16 进制,那么常用的还有哪些进制呢?这一节我们就针对这些问题展开。
原创
发布博客 2022.10.05 ·
526 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程15--详解Go语言的基本数据类型

为了充分利用内存以及对不同数据抽象出不同算法,Go 语言内置了 7 类基本数据类型。本节我们就详细解读一下Go 语言中的这7个基本数据类型紧密相关的基础知识,为后面的编程打下扎实的根基。
原创
发布博客 2022.10.05 ·
914 阅读 ·
1 点赞 ·
3 评论 ·
0 收藏

Go语言实践[回顾]教程14--详解Go语言代码结构、包、作用域、变量、常量

变量的使用,就会涉及到作用域,继而涉及到命名空间,说到命名空间就要谈及代码结构。所以我们接下来先从 Go 语言的项目代码结构开始。
原创
发布博客 2022.09.30 ·
1052 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程13--详解Go语言的词法解析单元

经过前面章节的初步实践,相信大家对 Go 语言已经有了一个初步的印象,也可以编写简单的例程。但是要达到使用 Go 语言编写相对复杂实用的真实项目,还需要有些扎实的 Go 语言基础和更全面更深入的了解。那么接下来从本节开始,我们就相对系统的深入实践 Go 语言编程。
原创
发布博客 2022.09.29 ·
785 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程12--快速体验Go语言的并发之美

从运行结果可以看出,两次函数调用 代码是同时执行的。这就是并发运行,看着是不是很简单!对,这就是Go语言的并发之美,实现并发运行只需要一个 go 关键字就可以了。第25行,是与之前代码唯一不同的地方,就是在调用函数之前加了一个 go 关键字,表示本次调用开辟一个协程去执行,与主流程代码并发运行。
原创
发布博客 2022.09.28 ·
344 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Go语言实践[回顾]教程11--学习成绩统计的示例【下】

在上两节中使用的源数据都是仅有分数没有姓名的一维数组,但实际成绩单中基本都是姓名与分数对照形式出现的,这就与 Go 语言的 map 类型十分相似,再者从数据库取出来的也几乎都是与 map 类型一致,所以,这节我们以 map 类型为源数据,重新完成项目需求。
原创
发布博客 2022.09.27 ·
520 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Go语言实践[回顾]教程10--学习成绩统计的示例【中】

在上一节中,是基于三个基本需求各自独立实现的逻辑,创建了分别完成各自任务的三个函数,然后依次执行。现在我们把上一节代码和需求整体看一下,各需求之间并不是完全独立的,是有一定的关联的。基于需求最后的整体目标,就是输出所有的统计信息,并没有对中间的单独子需求提出单独输出结果的要求。这样我们就可以针对统计及格人数、取前三名分数、整体排序三个子需求的关联性做逻辑调整,使程序运行效率更佳。
原创
发布博客 2022.09.26 ·
538 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程09--学习成绩统计的示例【上】

在一组仅有成绩数字的数组中,统计成绩大于等于60(60及以上为及格)的人数有多少,并计算及格率,以及取出前三名的成绩分别是多少。最后打印输出统计计算结果。
原创
发布博客 2022.09.25 ·
794 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Go语言实践[回顾]教程08--通过时间判断时辰的示例【下】

在上一节的代码中,已经充分简化了代码量。但是所有的逻辑都放在 main 函数里是不理想的,通常 main 函数内尽量少放代码,只放一些与主流程直接相关的,以使代码逻辑更清晰易读,在项目复杂代码量较大时才更易编写和维护。
原创
发布博客 2022.09.23 ·
638 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多