个人简介

Echo Blog


江湖无名 安心练剑
  • 22讲通关go-07-错误处理:如何通过 error、deferred、panic 等处理错误?
    07 错误处理:如何通过 error、deferred、panic 等处理错误? 上节课我为你讲解了结构体和接口,并留了一个小作业,让你自己练习实现有两个方法的接口。 现在我就以“人既会走也会跑”为例进行讲解。 首先定义一个接口 WalkRun,它有两个方法 Walk 和 Run,如下面的代码所示: type WalkRun interface { Walk() Run(...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-06 struct 和 interface:结构体与接口都实现了哪些功能?
    06 struct 和 interface:结构体与接口都实现了哪些功能? 上节课我留了一个思考题:方法是否可以赋值给一个变量?如果可以,要怎么调用它呢? 答案是完全可以,方法赋值给变量称为方法表达式,如下面的代码所示: age:=Age(25) //方法赋值给变量,方法表达式 sm:=Age.String //通过变量,要传一个接收者进行调用也就是age sm(age) 我们...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-05 函数和方法:Go 语言中的函数和方法到底有什么不同?
    05 函数和方法:Go 语言中的函数和方法到底有什么不同? 上一讲的思考题是创建一个二维数组并使用。 上节课,我主要介绍了一维数组,其实二维数组也很简单,仿照一维数组即可,如下面的代码所示: aa:=[3][3]int{} aa[0][0] =1 aa[0][1] =2 aa[0][2] =3 aa[1][0] =4 aa[1][1] =5 aa[1][2] =6 aa[...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-04-04 集合类型:如何正确使用 array、slice 和 map?
    回顾 上节课的思考题是练习使用 for 循环中的 continue,通过上节课的学习,你已经了解 continue 是跳出本次循环的意思,现在我就以计算 100 以内的偶数之和为例,演示 continue 的用法: sum := 0 for i:=1; i<100; i++{ if i%2!=0 { continue } sum+=i } ...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-03-03 控制结构:if、for、switch 逻辑语句的那些事儿
    03 控制结构:if、for、switch 逻辑语句的那些事儿 在上节课中我留了一个思考题,在一个字符串中查找另外一个字符串是否存在,这个其实是字符串查找的功能,假如我需要在“老马啸西风”这个字符串中查找“老马”,可以这么做: i:=strings.Index("老马啸西风","老马") 这就是 Go 语言标准库为我们提供的常用函数,以供我们使用,减少开发。 这节课我们继续讲解 G...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-02-data type 02 数据类型:你必须掌握的数据类型有哪些?
    02 数据类型:你必须掌握的数据类型有哪些? 上节课的思考题是打印出自己的名字,这个作业比较简单,属于文本的替换,你只需要把我示例中的”Hello 世界”修改成自己的名字即可,比如以我的名字为例,替换为“飞雪无情”。 经过上一节课的学习,你已经对 Go 语言的程序结构有了初步了解,也准备好了相应的开发环境。 但是一个完整的项目需要更复杂的逻辑,不是简单的“Hello 世界”可相比的。这...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-01 基础入门:编写你的第一个 Go 语言程序
    01 基础入门:编写你的第一个 Go 语言程序 从这节课开始,我会带你走进 Go 语言的世界。 我会用通俗易懂的语言,介绍 Go 语言的各个知识点,让你可以从零开始逐步学习,再深入它的世界。 不管你以前是否接触过 Go 语言,都可以从这个专栏中受益。 现在,让我以一个经典的例子“Hello World”来带你入门 Go 语言,了解它是如何运行起来的。 Hello, 世界 m...
    2018-09-07 01:51:23 | Lang
  • 22讲通关go-00 开篇词 Go 为开发者的需求设计,带你实现高效工作
    00 开篇词 Go 为开发者的需求设计,带你实现高效工作 你好,我是飞雪无情,在技术领域从业近 10 年,目前在一家互联网公司担任技术总监,负责技术管理和架构设计。 2014 年,我因为 Docker 接触了 Go 语言,其简洁的语法、高效的开发效率和语言层面上的并发支持深深地吸引了我。 经过不断地学习和实践,我对 Go 语言有了更深入的了解,不久后,便带领团队转型 Go 语言开发,提...
    2018-09-07 01:51:23 | Lang