登录
首页 >  Golang >  Go问答

C# 替代方案:使用占位符变量的方法去

来源:stackoverflow

时间:2024-02-13 08:18:26 388浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《C# 替代方案:使用占位符变量的方法去》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

在 go 中,我可以轻松编写如下内容:

func isavailableforuser(_ context.context) bool {
    return true;
}

但是 c# 的行为有所不同:

private bool IsAvailableForUser(IContext _) => true;

_ 是变量名称,而不是类似 void 的占位符。 c# 中的 go 代码的替代方案是什么?


正确答案


Go doesn't support overloadingparameter default value,所以为了保持函数签名的一致性,必须保留一些参数。

但c#支持,因此如果方法不需要参数,则可以实现无参数方法。稍后,如果需要将此方法传递给 func 等委托,则可以定义一个重载方法来调用此无参数方法。

private bool IsAvailableForUser() => true;
private bool IsAvailableForUser(IContext _) => IsAvailableForUser();
....
Func d = IsAvailableForUser;

如果参数名称由 underscores followed by a number 组成,c# 分析器不会抱怨该参数未使用。所以基本上,您问题中的两个函数是等效的,只是您可以在 c# 中使用参数。

今天关于《C# 替代方案:使用占位符变量的方法去》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>