假设在Java中,我有一个名为CryptoFormat的类,其中有一个名为getLegacyFormat()的静态方法。当我想要使用该方法时,只需要调用CryptoFormat.getLegacyFormat()即可。这很清楚,因为我知道方法来自哪里。
在Go语言中,没有静态方法。我不想只创建一个名为crypto_format.go的文件并在其中定义该方法。原因是每当我需要该方法时,我只需调用GetLegacyFormat(),但它不包含方法来自哪里的上下文。
我可以想到两种解决方法:
在Go语言中,没有静态方法。我不想只创建一个名为crypto_format.go的文件并在其中定义该方法。原因是每当我需要该方法时,我只需调用GetLegacyFormat(),但它不包含方法来自哪里的上下文。
我可以想到两种解决方法:
- 创建一个名为cryptoformat的单独包,并在其中将该方法定义为全局函数。这样,我需要为仅有几个方法而创建新的包。此外,每当我需要类似这样的静态方法时,都必须定义新的包。
- 定义一个名为cryptoFormat的结构体,其中包含GetLegacyFormat()方法。另外,定义一个公共变量CryptoFormat(指向结构体cryptoFormat的实例)。这样,我需要方法时可以调用CryptoFormat.GetLegacyFormat()。