加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[Go] gocron源码阅读-go语言中的切片和类型综合

发布时间:2021-05-21 06:46:38 所属栏目:大数据 来源: https://www.jb51.cc
导读:在gocron.go文件的main函数中,有下面这一句,从这句代码中可以学习到切片和类型的综合运用 cliApp.Flags = append(cliApp.Flags,[]cli.Flag{}...) ? 首先在go语言中定义一个类型需要使用type 名字 struct{},还可以给这个类型定义成员方法 type Taoshihan s

在gocron.go文件的main函数中,有下面这一句,从这句代码中可以学习到切片和类型的综合运用

cliApp.Flags = append(cliApp.Flags,[]cli.Flag{}...)

?

首先在go语言中定义一个类型需要使用type 名字 struct{},还可以给这个类型定义成员方法

type Taoshihan struct {
}
func (t Taoshihan) Say() string {
    return "my name is taoshihan"
}


这里我就定义了Taoshihan类型,为他增加了Say方法

实例化这个类型需要 名字{},下面这个就是实例化了一个Taoshihan对象

mytao := Taoshihan{}

切片可以看成是一个可变长度的数组,声明定义一个切片可以向下面这样
var 名字 []存储的类型

var myslice []Taoshihan


我这个切片中存的是Taoshihan这个类型

往切片中添加数据需要使用append函数,下面我往切片中增加了两个数据

myslice=append(myslice,mytao,Taoshihan{})


而原代码中的三个点...,代表的是打散切片,切片中的每个元素都添加进去,在我的例子中可以这样表示

myslice=append(myslice,[]Taoshihan{}...)


[]Taoshihan{}其实就代表了另一个切片,是个空的

循环遍历切片需要使用for range循环,其中的每个t就代表了是每个加进去的对象

for _,t := range myslice {
    fmt.Println(t.Say())
}

完整案例:

package main

import (
    fmt
)

type Taoshihan struct {
}

func (t Taoshihan) Say() taoshihan
}

func main() {
    var myslice []Taoshihan
    mytao := Taoshihan{}
    myslice = append(myslice,Taoshihan{},mytao)
    @H_403_95@//这里遍历输出两次
     range myslice {
        .Println(t.Say())
    }

}

?

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读