go 的选项模式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go 的选项模式相关的知识,希望对你有一定的参考价值。
参考技术A 现在有个结构体如下定义:我们需要初始化结构体,如果是其他语言,函数支持默认参数:
但是,go语言函数不支持默认参数,同时即使go语言支持默认参数,但是如果配置项过多,那么每一个配置项都得写一个默认参数,也不现实。
那么,在go语言中,我们怎么优雅的给其初始化呢,这时,就需要利用选项模式了(option)。
首先,我们定义一个option函数类型:
它接收一个参数: *Server 。
然后定义一个 NewServer 函数,它接收一个 Option类型的不定参数:
最后,再直接定义一系列返回 Option的函数
使用时,直接:
以上是关于go 的选项模式的主要内容,如果未能解决你的问题,请参考以下文章