这对于一个特殊的注解标签或某种方式来记录一个函数可能发生恐慌的情况是有好处的。Godoc会检测到这个标签并显示一个特殊的标签或者⚠️符号。
8nuwlpux1#
接口上的方法呢?
inn6fuwd2#
特殊注解标签也可以应用于接口中的函数。然而,任何实现接口中函数的导出对象都可以记录恐慌。
gstyhher3#
如果传递了无效的输入,许多功能可能会发生恐慌。
aoyhnmkz4#
它们都应该被标记为可能引发恐慌。理由是Go鼓励你在不同的goroutines中并发地执行操作。即使有恢复中间件的Web服务器,也无法保护在不同的goroutines中的恐慌。这非常危险,因为很容易忘记一个函数可能会引发恐慌。将其标记为如此,是在它导致整个服务器崩溃之前我们能做的最少的事情。
bttbmeg05#
Go语言的文档注解的一个优点是它们不是模式化的,而godoc&Co.的一个优点是演示文稿是无杂乱的。恐慌应该简单地在文本中提到作为一个句子,就像任何其他值得注意的事情一样应该在文本中提到。
kuuvgm7e6#
我认为如果这是自愿和手动完成的,那么这不是一个好主意,因为这无法涵盖事物恐慌的无数方式,并且在用户看不到标记时会引导他们进入一种错误的安全感。
6条答案
按热度按时间8nuwlpux1#
接口上的方法呢?
inn6fuwd2#
特殊注解标签也可以应用于接口中的函数。然而,任何实现接口中函数的导出对象都可以记录恐慌。
gstyhher3#
如果传递了无效的输入,许多功能可能会发生恐慌。
aoyhnmkz4#
它们都应该被标记为可能引发恐慌。
理由是Go鼓励你在不同的goroutines中并发地执行操作。
即使有恢复中间件的Web服务器,也无法保护在不同的goroutines中的恐慌。
这非常危险,因为很容易忘记一个函数可能会引发恐慌。将其标记为如此,是在它导致整个服务器崩溃之前我们能做的最少的事情。
bttbmeg05#
Go语言的文档注解的一个优点是它们不是模式化的,而godoc&Co.的一个优点是演示文稿是无杂乱的。恐慌应该简单地在文本中提到作为一个句子,就像任何其他值得注意的事情一样应该在文本中提到。
kuuvgm7e6#
我认为如果这是自愿和手动完成的,那么这不是一个好主意,因为这无法涵盖事物恐慌的无数方式,并且在用户看不到标记时会引导他们进入一种错误的安全感。