美文网首页GolangGolang 入门资料+笔记
【低门槛Golang教学】一、断言

【低门槛Golang教学】一、断言

作者: 我爱余倩 | 来源:发表于2019-03-16 17:00 被阅读1次

一、前言

  1. 由于掌握的开发技能多种多样(Node、Lua、Golang、PHP、C#、Python),导致公司基础平台项目一直难以开展。
  2. 终于再三取舍之下选择了 'Golang' 这个新秀语种,因为 'Golang' 非常契合本人的简洁风格,所以日后除了'Laravel' 相关的教程以外,'Golang' 的教学将会成为最主要输出。

二、说明

  1. 本文的主题是 接口类型断言 (assert),阅读后文的必要前提是你已经对 'Golang' 有了一定了解。
  2. 后文同样假设你已经搭建好了 'Golang' 的开发环境。

二、开始

  1. 接口类型断言 (assert) 的基本语法如下:
# x:任意一个interface
# y:断言结果类型名称
# z:用y类型断言x接口后结果
z := x.(y)
  1. 显然,上面看起来和 OOP 中的 基类转换 十分相似,那么让我们实际运用一下吧:
package main

import "fmt"

// 表示上面的x
type C interface {}
// 表示上面的y
type M map[string]string

type Test struct {
    c C
    name string
}

func main()  {
    m := newM()
    t := Test {m,"struct name\n"}
    // 正常打印出 'struct name' 没有上面问题
    fmt.Print(t.name)
    // 如果直接 fmt.Print(t.c.["key"]) 会报错
    // 只能通过断言后才能访问 map 中的 key
    assert, ok := t.c.(M)
    if !ok {
        fmt.Print("error")
    }
    fmt.Print(assert["t"])
}

func newM() M {
    ret := M{"key":"i am map"}
    return ret
}
  1. 接着在命令行中运行脚本,成功输出:
> struct name
> i am map

四、结语

  1. 本教程面向新手,更多教程会在日后给出。
  2. 欢迎联系在下,讨论建议都可以,之后会发布其它的教程。
  3. 同时本人也在紧锣密鼓地准备 Laravel业务篇 系列的教程,敬请期待。

相关文章

  • 【低门槛Golang教学】一、断言

    一、前言 由于掌握的开发技能多种多样(Node、Lua、Golang、PHP、C#、Python),导致公司基础平...

  • 聊聊golang的类型断言

    序 本文主要研究一下golang的类型断言 类型断言 断言x不为nil且x为T类型 如果T不是接口类型,则该断言x...

  • golang 类型断言

    golang类型断言 类型断言是一个使用在接口值上的操作 有时候,我们可能需要知道某个接口类型的实际类型,比如某个...

  • golang类型断言

    typeAnimalinterface{ Speak() } typeCatstruct{ Namestring ...

  • 高门槛和低门槛

    用户无法准确说出或不想说出的任务被完成后的样子,用户其实都是懒的,只有你把用户引导了你所构建的氛围里,用户才能去适...

  • 低门槛副业

    无论是在网上的副业赚钱课,还是千聊平台上的其他课程,只要你听过后觉得不错的,可以点击右上方分销出去...

  • 医生门槛低

    小玉高考240分,要去xx医学院读专科了。 我们县医院医生紧缺,招不到本科生,这两年招聘条件已经降至专科生了。 三...

  • golang-101-hacks(21)——类型断言&类型开关

    注:本文是对golang-101-hacks中文翻译通过类型断言(type assertion)方式来判断接口的具...

  • 门与槛

    门槛门槛,过去了是门,没过去就是槛。 我们常常可以从一些推送文章里看到,网络小说门槛低,网络直播门槛低,游戏电竞门...

  • 如何进行低门槛创业?

    低门槛创业现在选择而很多,不过主要聚焦在线上领域。 说到底,低门槛创业并不是完全没有门槛,而是几乎没有入门门槛。就...

网友评论

    本文标题:【低门槛Golang教学】一、断言

    本文链接:https://www.haomeiwen.com/subject/evbbuqtx.html