Go开发

链式操作

2022-08-28  本文已影响0人  菩提树下参悟

链式操作用.来一步一步操作

    // 链式操作
    put1, err := client.Index().
        Index(indexStr).
        Type("xxx").
        BodyJson(data).
        Do(context.Background())

index:索引
data一定是json数据
type:数据表,当成一个参数,按照ip,不同的机器不同的表里

示例:

package main

import "fmt"

// 链式操作

type student struct{
    name string
    age int
}
// walk ....
func (s *student)walk() *student{
    fmt.Println("I am walking...")
    return s
}
// read ...
func (s *student)read(){
    fmt.Println("I am reading...")
}
// sleep...
func (s *student)sleep()*student{
    fmt.Println("I am sleepping...")
    return s 
}
//
func (s *student)sing()int{
    fmt.Println("I am reading...")
    return 1
}


func main(){
    var stu student
    fmt.Println(stu.walk().sleep())
    //fmt.Println(stu.read().walk())// 如果read是没有返回值是不能使用链式操作
    fmt.Println(stu.sing().walk())// 如果返回值不是下个链接的同一种数据类型也会报错
    /*
# command-line-arguments
.\main.go:36:25: stu.sing().walk undefined (type int has no field or method walk)
    */
}
上一篇 下一篇

猜你喜欢

热点阅读