写法笔记
=> 限制入参个数
func A(addr ...string) {
// 通过 len(string) 来判断
}
// 调用:A('a', 'b', 'c')
=> 同样 values... 可以把数组换成单独入参
// => 常用传参模式:传递时用单独入参,消费时合成数组
func A(arr ...sth) {
B(arr...)
}
=> 给函数传配置对象,而不是很多入参
func LoggerWithConfig(conf LoggerConfig) {
formatter := conf.Formatter
if formatter == nil {
formatter = defaultLogFormatter
}
}
=> 函数也可以设置 type:
type LogFormatter func(params LogFormatterParams) string
=> 通过 v.(string) 可以将 interface 换成 string 返回
=> .next() 就是如此简单!
func (c *Context) Next() {
c.index++
for c.index < int8(len(c.handlers)) {
c.handlers[c.index](c)
c.index++
}
}