
愚公系列-Go教学课程
文章平均质量分 68
Go教学课程
愚公搬代码
《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
展开
-
【愚公系列】2022年08月 Go教学课程 040-字符串处理
符串或串(String)是由数字、字母、下划线组成的一串字符。它是编程语言中表示文本的数据类型。在程序设计中,字符串为符号或数值的一个连续序列。字符串操作就是以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。–百度百科。......原创 2022-08-13 23:59:24 · 8825 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 039-文件操作
文件的操作在计算机是必不可少的,比如word、excel、ppt,txt等等在日常办公中都是很常用的。文件的操作主要包含:创建文件、打开文件、读取文件、写入文件、关闭文件、打包/解包、压缩/解压缩、改变文件权限、删除文件、移动文件、重命名文件等。Go语言官方库:os、io/ioutil、bufio涵盖了文件操作的所有场景。os提供了对文件IO直接调用的方法,bufio提供缓冲区操作文件的方法,io/ioutil也提供对文件IO直接调用的方法。...原创 2022-08-12 23:14:33 · 8272 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 038-异常处理
异常处理,是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况,异常处理的好处是你不用再绞尽脑汁去考虑各种错误,这为处理某一类错误提供了一个很有效的方法,使编程效率大大提高。在Go语言中异常处理和其他语言有所不同通过内置的错误接口提供了非常简单的错误处理机制,比如:error、error是可预知的,会在代码里会进行合适的处理。panic是不可预知的,又程序进行自动处理异常。...原创 2022-08-11 23:08:51 · 8202 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 037-面向对象综合案例-微博
微博允许用户通过Web、Wap、Mail、App、IM、SMS以及用户可以通过PC、手机等多种移动终端接入,以文字、图片、视频等多媒体形式,实现信息的即时分享、传播互动。微博(Micro-blog)是指一种基于用户关系信息分享、传播以及获取的通过关注机制分享简短实时信息的广播式的社交媒体、网络平台。......原创 2022-08-10 23:45:36 · 8201 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 036-类型断言
GO中的类型断言用于检查接口类型变量所持有的值是否实现了期望的接口或者具体的类型。其中,x 表示一个接口的类型的实际值,T 表示一个具体的类型(也可为接口类型)。如果 T 是具体某个类型,类型断言会检查 x 的动态类型是否等于具体类型 T。如果检查成功,类型断言返回的结果是 x 的动态值,其类型是 T。如果 T 是接口类型,类型断言会检查 x 的动态类型是否满足 T。如果检查成功,x 的动态值不会被提取,返回值是一个类型为 T 的接口值。...原创 2022-08-10 23:42:09 · 8182 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 035-接口和继承和转换与空接口
接口继承是出自设计模式中的一个概念。接口继承,又称子类型化。描述了一个对象什么时候能够被用来替代另一个对象。接口是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。接口可以多继承接口因为接口只定义行为并不包含类别的含义不指代具体的某类事物,继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。空接口(interface{})不包含任何的方法,正因为如此,所有的类型都实现了空接口,因此空接口可以存储任意类型的数值。..原创 2022-08-10 23:22:32 · 8143 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 034-接口和多态
在生日常活中无时不刻不在使用各种接口,比如电脑的usb,手机的充电接口等等。在计算机程序中接口就是一种规范与标准,只是规定了要做哪些事情,具体怎么做,接口是不管的,接口把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口,接口是一种抽象类型,它并没有暴露所含数据的布局或者内部结构,当然也没有那些数据的基本操作,它所提供的仅仅是一些方法而已。很多面向对象的编程语言都有接口的概念,Go语言的接口的独特之处在于它是隐式实现的。...原创 2022-08-09 23:18:14 · 8163 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 033-结构体方法重写、方法值、方法表达式
方法重写又称方法覆盖。方法重写概念方法的重写是指两个方法的返回值、方法名、参数的类型和个数相同(子类重写父类的方法)。方法的重写,不能发生在同类中,只能发生在子类中。若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。方法值和方法表达式,也就是“方法对象赋值给变量”...原创 2022-08-08 22:27:36 · 8157 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 032-结构体方法继承
继承是指一个子类(或称为派生类)继承父类(或称为基类)的特征(属性和操作)。继承是面向对象程序设计时实现代码复用的重要手段,它允许在原有的类的基础上进行扩展,增加功能,这样新产生的类称为子类。但在Go 语言本身并不支持继承。但可以使用组合的方法,实现类似继承的效果。Go 语言中,把一个结构体嵌入到另一个结构体的方法,称之为组合。...原创 2022-08-07 23:58:45 · 8376 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 031-结构体方法
方法就是把某些逻辑代码封装到一起的集合,用固定格式包起来起个名字。go中的方法是一个函数,拥有附加的,单独元素的参数列表,称之为接收器。它被放在一个方法名之前。接收器的类型决定了如何使用方法。以下是为一个类型定义一个方法的语法func(对象 结构体类型) 方法名(参数列表)(返回值列表) {代码体 }...原创 2022-08-06 22:26:27 · 8134 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 030-结构体继承
继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。但在go语言中并没继承的概念,只能通过组合来实现继承。组合就是通过对现有对象的拼装从而获得实现更为复杂的行为的方法。.........原创 2022-08-05 23:17:32 · 8156 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 029-面向对象简介
所谓的面向过程就是:强调的是步骤、过程、每一步都是自己亲自去实现的。这些都是以什么正在发生为主要目标进行编程,与面向对象明显的不同就是封装、继承、类。简写为POP。原创 2022-08-04 10:50:21 · 8082 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 028-函数小结案例(通讯录)
通讯录的信息可以涵盖多项内容比如:姓名、电话号码、单位电话、移动电话、传真号、电子邮件、QQ、MSN、个人主页、公司、街道、邮编、生日、大头贴、车牌、银行账号、俱乐部名称、爱好等等。以往的通讯录都是纸制的容易破损丢失,如今的通讯录都是可以在个人电脑、掌上电脑、移动电话等任何联网设备上录入你的联系人的手机\电话号码、Email、QQ、MSN、微信等通讯录信息。随时随地都可以在任何设备上查找通讯录联系人。......原创 2022-08-04 10:33:02 · 8076 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 027-深拷贝和浅拷贝
深拷贝是指拷贝对象的具体内容,二内存地址是自主分配的,拷贝结束之后俩个对象虽然存的值是一样的,但是内存地址不一样,俩个对象页互相不影响,互不干涉。浅拷贝是指对内存地址的复制,让目标对象指针和源对象指向同一片内存空间。go语言中赋值,函数传参, 函数返回值都是浅拷贝。go语言中使用copy()函数来实现引用类型的深拷贝。......原创 2022-08-03 23:06:25 · 8049 阅读 · 0 评论 -
【愚公系列】2022年08月 Go教学课程 026-结构体
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体可以很好地管理一批有联系的数据,使用结构体可以提高程序的易读性。原创 2022-08-02 23:02:31 · 8098 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 025-递归函数
递归就是一个函数在其内部可以调用其本身,那么这个函数就是递归函数即自己调用自己的函数优点结构清晰,可读性强,可以极大的减少代码量,用有限的语句来定义对象的无限集合。缺点效率低,调用栈可能会溢出函数每次调用都会在内存栈中分配空间,而每个进程的容量是有限的,当调用的层次太多时,就会超出栈的容量,从而导致溢出。httpshttps。......原创 2022-07-31 18:39:03 · 8030 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 024-函数
函数是将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集。这段代码集可以直接被另一段程序或代码引用的、可重复使用的、用来实现单一或相关联功能的代码段。目的是为了提高应用的模块性和代码的重复利用率。在Go语言中,定义一个函数需要声明参数和函数名等。func函数名(参数列表)(返回参数列表){函数体}fmt.Println("超级玛丽,走呀走,跳呀跳")fmt.Println("超级玛丽,走呀走,跳呀跳")}funcPlay(){...原创 2022-07-31 18:19:12 · 8114 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 023-Go容器之列表
列表是一种数据结构,由多元素成的有限序列,即按照一定的线性顺序排列而成的数据项的集合,在这种数据结构上可以进行元素的的插入,删除,修改,和查找。列表的两种主要表现是数组和链表,栈和队列是两种特殊类型的列表。列表(list)底层常见的数据结构有单链表、双链表等。...原创 2022-07-31 17:32:27 · 8143 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 022-Go容器之字典
Go中字典也叫做map,map是一种无序的键值对的集合,使用散列表(hash)实现。var变量名[keyType]valueTypekeyType表示键类型。valueType表示键对应的值类型。原创 2022-07-30 23:53:52 · 8045 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 021-Go容器之切片操作
/T切片中元素的类型;//size表示为这个类型分配多少个元素;//cap预分配的元素数量,该值设定后不影响size,表示提前分配的空间,设置它主要用于降低动态扩容时,造成的性能问题。a。原创 2022-07-30 00:08:10 · 8122 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 020-Go容器之数组
数组(Array)是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。数组是在程序设计中,为了处理方便,把具有相同类型的若干元素按有序的形式组织起来的一种形式。这些有序排列的同类数据元素的集合称为数组。–百度百科数组是一段固定长度的连续内存区域。...原创 2022-07-28 22:13:36 · 8024 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 019-循环结构之for
循环结构是指在程序中需要反复执行某个功能而设置的一种程序结构。它由循环体中的条件,判断继续执行某个功能还是退出循环。根据判断条件,循环结构又可细分为以下两种形式先判断后执行的循环结构和先执行后判断的循环结构。...原创 2022-07-27 23:06:19 · 8092 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 018-分支结构之switch
Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以Go语言来说,switch(开关语句)常和casedefault一起使用。某个case后面跟着的代码执行完毕后,不会再执行后面的case,而是跳出整个switch结构,相当于每个case后面都跟着break(终止),但是如果我们想执行完成某个case后,强制执行后面的case,可以使用fallthrough。switch结构和if结构是可以结合来使用的,可以根据具体的问题具体分析,灵活来应用。httpshttps。......原创 2022-07-26 21:17:43 · 8107 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 017-分支结构之IF
if条件语句是一个重要的编程语句,它用于告诉程序在某个条件成立的情况下执行某段程序,而在另一种情况下执行另外的语句。原创 2022-07-25 23:48:29 · 8122 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 016-运算符之逻辑运算符和其他运算符
用于连接多个条件,一般来讲就是关系表达式,最终的结果也是一个bool值。原创 2022-07-24 23:34:21 · 8024 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 015-运算符之赋值运算符和关系运算符
关系运算符,有6种关系,分别为小于、大于、小于等于、大于等于、等于、不等于。原创 2022-07-24 23:05:29 · 9017 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 014-运算符之算术运算符
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如2+3,其操作数是2和3,而运算符则是“+”。在Go语言中运算符大致可以分为5种类型算术运算符、关系运算符、逻辑运算符、赋值运算符、其他运算符。......原创 2022-07-20 21:20:47 · 9103 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 013-常量、指针
常量是一个简单值的标识符,在程序运行时,不会被修改的量。常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。你可以省略类型说明符[type],因为编译器可以根据变量的值来推断其类型。constpi=3.141592constname="愚公搬代码"在计算机中,所有的数据都是存放在存储器中的,不同的数据类型占有的内存空间的大小各不相同。内存是以字节为单位的连续编址空间,每一个字节单元对应着一个独一的编号,这个编号被称为内存单元的地址。比如。......原创 2022-07-19 22:36:10 · 9063 阅读 · 2 评论 -
【愚公系列】2022年07月 Go教学课程 012-强制类型转换
go语言中分为类型转换(typeconversion)、类型断言(typeassertion)和指针类型转换。golang中的强制类型转换有三种语法形式,分别是类型断言,类型转换,指针类型转换,语法上类型断言和指针类型转换和Java比较像。注意点低类型转换为高类型,保证精度。高类型转换为抵类型会丢失精度。具体的进度请看下面这张表。类型名称长度零值说明bool布尔类型1false其值不为真即为假,不可以用数字代表true或falsebyte字节型10uint8别名。......原创 2022-07-17 09:44:20 · 9387 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 011-字符串类型
go语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。在 Go 语言中,字符串是一个不可改变的字节序列,类型为原生数据类型,同 int 、bool、float32、float64 是一样的,字符串的值通过双引号来包裹字符。主要:虽然看到str只包含一个字符,但是隐藏一个字符串结束标志‘%0’。Go 语言内置的 len()函数可以获取切片、字符串、通道(channel) 等的长度。len()函数返回值为 int 类型,表示字符串的 ASCII 字符的个数或字节长度。你可能会奇怪,字符串 s原创 2022-07-13 23:47:45 · 9040 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 010-数据类型之布尔型和字符类型
go语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。在 Go 语言中,以关键字 bool 来声明布尔类型。布尔类型只有 true 和 false 两种值。Go 语言中,字符串的每一个元素叫做字符,主要分为以下两种:......原创 2022-07-10 22:44:01 · 9054 阅读 · 1 评论 -
【愚公系列】2022年07月 Go教学课程 009-数据类型之浮点型
go语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。在Go语言中提供了两种精度的浮点型:float32和float64。float32精确到小数点后7位,float64精确到小数点后15位。由于在Go中涉及到关于数学运算的包中,都要求使用float64这个类型。因为一个float32类型的浮点数可以提供大约6个十进制数的精度,而float64则可以提供约15个十进制数的精度;通常应该优先使用float64类型,因为float32类型的累计计算误差很容易扩散,并且float32能精确表示的正整数原创 2022-07-10 10:13:49 · 9382 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 008-数据类型之整型
go语言中有四种数据类型:基础类型,复合类型,引用类型,接口类型。整型分为以下两个大类: 有符号整型、无符号整型。整型的范围:字节原创 2022-07-10 00:01:27 · 8950 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 007-计算机进制和变量命名规范
按进位的原则进行记数的方法叫做进位计数制。进位计数制简称为“数制”或“进制”。每一种数制的进位都是遵循一个规则的,那就是----逢N进一。原创 2022-07-08 22:02:48 · 8920 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 006-自动推导类型和输入输出
自动推导类型,在声明赋值变量时,不需要var和变量类型,其类型是由所赋值来决定的。2.总结什么是自动推导类型:在声明赋值变量时,不需要var和变量类型,其类型是由所赋的值来决定的。自动推导类型基本语法格式:“变量名:=值”。多重赋值(使用自动推导类型一次性给多个变量赋值)语法格式:“变量名1,变量名2,变量名3:= 值1,值2,值3"二、输入和输出1.输出1.1 fmt.Print普通输出Print采用默认格式将其参数格式化并写入标准输出。如果两个相邻的参数都不是字符串,会在它们的原创 2022-07-07 22:30:45 · 18051 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 005-变量
变量来源于数学,用于描述计算机中的数据存储空间。变量可以通过变量名访问。在指令式语言中,变量通常是可变的;但在纯函数式语言(如Haskell)中,变量可能是不可变(immutable)的。在一些语言中,变量可能被明确为是能表示可变状态、具有存储空间的抽象(如在Java和Visual Basic中);但另外一些语言可能使用其它概念(如C的对象)来指称这种抽象,而不严格地定义“变量”的准确外延。变量的作用就是在内存中标记和存储数据。内存,全称内存储器。用于存放计算机运行过程中的数据。计算机为了更好的存储数据,原创 2022-07-06 22:32:58 · 17970 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 004-Go代码注释
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂,一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。注释只是为了提高可读性,不会被计算机编译。Go语言的注释主要分成两类,分别是单行注释和多行注释。单行注释简称行注释,是最常见的注释形式,可以在任何地方使用以开头的单行注释;快捷键:ctrl+c2.多行注释多行注释简称块注释,以开头,并以结尾原创 2022-07-05 20:06:34 · 18041 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 003-IDE的安装和基本使用
IDE的意思是Integrated Development Environment,集成开发环境。是用于提供程序开发环境的应用程序,集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套,所有具备这一特性的软件或者软件套都可以叫集成开发环境。Go语言的IDE主要有以下几种:JetBrains 官方网站:https://www.jetbrains.com/go/download/#section=windows点击下载 Download 按钮,下载到本地就可以了。选择新建=》go文件创建原创 2022-07-04 21:46:10 · 17931 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 002-Go语言环境安装
Go语言是一门编译性的语言需要有SDK工具包对其进行编译才能运行,其次需要有一个编辑工具来写代码,最后为SDK中的工具配置环境变量,所以总结一下可以包含三个方面:Go语言支持的系统有:Linux、FreeBSD、Mac OS X(也称为 Darwin)、Windows。当将 Go语言源码编写完成此时电脑还不能直接执行,需要使用编译器编译成二进制可执行文件,那么就需要使用Go语言的SDK工具包了。Go语言SDK安装包下载地址:https://golang.google.cn/dl/Windows下可以使用原创 2022-07-03 19:21:09 · 18120 阅读 · 0 评论 -
【愚公系列】2022年07月 Go教学课程 001-Go语言前提简介
go语言比较适合做服务器开发,云平台开发,微服务实践和重构,区块链开发(主要以以太坊为主导)等等。原创 2022-07-02 16:33:03 · 20470 阅读 · 0 评论