[GO]小技巧,如何实现一个链式操作

package main

import "fmt"

type Stu struct {
    Name string
    Age  int
}

func (p *Stu) SetName(name string) *Stu {
    p.Name = name
    return p
}

func (p *Stu) SetAge(age int) *Stu {
    p.Age = age
    return p
}

func (p *Stu) Print()  {
    fmt.Printf("age:%d, name:%s\n", p.Age, p.Name)
}

func main() {
    stu := &Stu{}
    stu.SetAge(12).SetName("baylor").Print()//这里就可以实现链式的调用
}

原文地址:https://www.cnblogs.com/baylorqu/p/10001812.html

时间: 2025-01-11 22:34:09

[GO]小技巧,如何实现一个链式操作的相关文章

js实现一个简单的链式操作

如何实现一个链式操作 function person() {} person.prototype = { setname: function(name) { this.name = name return this }, setage: function(age) { this.age = age return this }, getinfor: function() { console.log(this.age) console.log(this.name) } } var person1 =

PHP链式操作的实现--即PHP数据操作类。

所谓链式操作最简单的理解就是 操作完毕之后再返回对象$this 想必大家工作中基本都快用烂了得东西. 下面就是一个链式操作MYSQL数据库类. 最常见的链式操作 每一个方法操作之后,返回一个对象,直到最后一个方法才是执行和返回整个链式操作的结果. $model->where()->field()->limit()->select() use PDO; class CyDB extends PDO { private $config = null; public $table; //

用php实现一个简单的链式操作

最近在读<php核心技术与最佳实践>这本书,书中第一章提到用__call()方法可以实现一个简单的字符串链式操作,比如,下面这个过滤字符串然后再求长度的操作,一般要这么写: strlen(trim($str)); 那么能否实现下面这种写法呢? $str->trim()->strlen(); 下面就来试下. 链式操作,说白了其实就是链式的调用对象的方法.既然要实现字符串的链式操作,那么就要实现一个字符串类,然后对这个类的对象进行调用操作.我对字符串类的期望如下:(1)当我创建对象时,

objective-c 一个链式加法计算器实现

一个链式加法计算器实现思路 1.使用时的效果 Calculate * manger=[Calculate new]; int result=manger.add(123).add(123).sub(123).result; 输出结果为:result:123 2.实现方法 新建Calculate类: 添加一个属性@property(nonatomic,assign) int result,作为计算结果: 因为使用的方式为 result=manger.add(123).add(123).sub(12

小技巧找出一个php的cron脚本出问题的代码行

这个小技巧虽然很小,但是很有用. 我写了一个cron脚本,但是隔一天发现,这个昨天的cron脚本还一直在跑着,没有停下来,一定是里面有个程序堵住了. 但是如果我重新跑又需要很多时间.这个怎么办? 现在最需要就是要知道程序停在了那行代码上了.使用gdb: $sudo gdb -p 14973 (gdb) print (char *)executor_globals.active_op_array->filename $1 = 0x9853a34 "/home/xinhailong/test/

PHP实现链式操作的三种方法详解

这篇文章主要介绍了PHP实现链式操作的三种方法,结合实例形式分析了php链式操作的相关实现技巧与使用注意事项,需要的朋友可以参考下 本文实例讲述了PHP实现链式操作的三种方法.分享给大家供大家参考,具体如下: 在php中有很多字符串函数,例如要先过滤字符串收尾的空格,再求出其长度,一般的写法是: strlen(trim($str)) 如果要实现类似js中的链式操作,比如像下面这样应该怎么写? $str->trim()->strlen() 下面分别用三种方式来实现: 方法一.使用魔法函数__ca

C++中的链式操作

代码编译环境:Windows7 32bits+VS2012. 1.什么是链式操作 链式操作是利用运算符进行的连续运算(操作).它的特点是在一条语句中出现两个或者两个以上相同的操作符,如连续的赋值操作.连续的输入操作.连续的输出操作.连续的相加操作等都是链式操作的样例. 链式操一定涉及到结合律的问题.比如链式操作赋值操作满足右结合律,即a=b=c被解释成a=(b=c).而链式输出操作原则满足左结合律,即cout<<a<<b被解释成(cout<<a)<<b,基本

jQuery对象的链式操作用法分析

可以使用下面的原则判断一个函数返回的时候是jQuery对象,即是否可以用于链式操作. 除了获取某些数据的函数,比如获取属性值"attr(name)",获取集合大小"size()"这些函数明显是返回数据的.除了这些函数之外的jQuery函数都可以用于链式操作,比如设置属性"attr(name.value)". 链式编程.html('val').text('val').css()链式编程,隐式迭代.链式编程注意:$('div').html('设置值'

jquery设计思想之写法-方法函数化&amp;链式操作

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="