个人简介

Echo Blog


江湖无名 安心练剑
  • Go语言核心36讲-18if语句、for语句和switch语句
    18 if语句、for语句和switch语句 在上两篇文章中,我主要为你讲解了与go语句、goroutine和Go语言调度器有关的知识和技法。 内容很多,你不用急于完全消化,可以在编程实践过程中逐步理解和感悟,争取夯实它们。 现在,让我们暂时走下神坛,回归民间。我今天要讲的if语句、for语句和switch语句都属于Go语言的基本流程控制语句。 它们的语法看起来很朴素,但实际上也会有...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-17go语句及其执行规则(下)
    17 go语句及其执行规则(下) 你好,我是郝林,今天我们继续分享go语句执行规则的内容。 在上一篇文章中,我们讲到了goroutine在操作系统的并发编程体系,以及在Go语言并发编程模型中的地位和作用等一系列内容,今天我们继续来聊一聊这个话题。 知识扩展 问题1:怎样才能让主goroutine等待其他goroutine? 我刚才说过,一旦主goroutine中的代码执行完毕,当前...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-16go语句及其执行规则(上)
    16 go语句及其执行规则(上) 你很棒,已经学完了关于Go语言数据类型的全部内容。 我相信你不但已经知晓了怎样高效地使用Go语言内建的那些数据类型,还明白了怎样正确地创造自己的数据类型。 对于Go语言的编程知识,你确实已经知道了不少了。不过,如果你真想玩转Go语言还需要知道它的一些特色流程和语法。 尤其是我们将会在本篇文章中讨论的 go 语句,这也是Go语言的最大特色了。 它足可...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-15关于指针的有限操作
    15 关于指针的有限操作 在前面的文章中,我们已经提到过很多次“指针”了,你应该已经比较熟悉了。 不过,我们那时大多指的是指针类型及其对应的指针值,今天我们讲的则是更为深入的内容。 让我们先来复习一下。 type Dog struct { name string } func (dog *Dog) SetName(name string) { dog.name = name }...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-14接口类型的合理运用
    14 接口类型的合理运用 你好,我是郝林,今天我们来聊聊接口的相关内容。 前导内容:正确使用接口的基础知识 在Go语言的语境中,当我们在谈论“接口”的时候,一定指的是接口类型。因为接口类型与其他数据类型不同,它是没法被实例化的。 更具体地说,我们既不能通过调用new函数或make函数创建出一个接口类型的值,也无法用字面量来表示一个接口类型的值。 对于某一个接口类型来说,如果没有任何...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-13结构体及其方法的使用法门
    13 结构体及其方法的使用法门 我们都知道,结构体类型表示的是实实在在的数据结构。 一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型。 前导内容:结构体类型基础知识 当然了,结构体类型也可以不包含任何字段,这样并不是没有意义的,因为我们还可以为类型关联上一些方法,这里你可以把方法看做是函数的特殊版本。 函数是独立的程序实体。我们可以声明有名字的函数,也可以声明...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-12使用函数的正确姿势
    12 使用函数的正确姿势 在前几期文章中,我们分了几次,把Go语言自身提供的,所有集合类的数据类型都讲了一遍,额外还讲了标准库的 container 包中的几个类型。 在几乎所有主流的编程语言中,集合类的数据类型都是最常用和最重要的。我希望通过这几次的讨论,能让你对它们的运用更上一层楼。 从今天开始,我会开始向你介绍使用Go语言进行模块化编程时,必须了解的知识,这包括几个重要的数据类型...
    2015-01-01 15:20:27 | Go语言核心36讲
  • Go语言核心36讲-11通道的高级玩法
    11 通道的高级玩法 我们已经讨论过了通道的基本操作以及背后的规则。 今天,我再来讲讲通道的高级玩法。 首先来说说单向通道。我们在说“通道”的时候指的都是双向通道,即:既可以发也可以收的通道。 所谓单向通道就是,只能发不能收,或者只能收不能发的通道。一个通道是双向的,还是单向的是由它的类型字面量体现的。 还记得我们在上篇文章中说过的接收操作符 <-吗? 如果我们把它用在通道...
    2015-01-01 15:20:27 | Go语言核心36讲