程序设计

专业和发烧友程序员的问答





4
指针与参数和返回值中的值
在Go中,有多种方法可以返回struct值或其片段。对于个人,我已经看到: type MyStruct struct { Val int } func myfunc() MyStruct { return MyStruct{Val: 1} } func myfunc() *MyStruct { return &MyStruct{} } func myfunc(s *MyStruct) { s.Val = 1 } 我了解两者之间的区别。第一个返回该结构的副本,第二个返回指向在函数内创建的结构值的指针,第三个期望传入现有结构并覆盖该值。 我已经看到所有这些模式都可以在各种情况下使用,我想知道关于这些的最佳实践是什么。什么时候使用?例如,第一个可能适用于小型结构(因为开销很小),第二个适用于较大的结构。第三,如果您想提高内存效率,因为您可以轻松地在调用之间重用单个结构实例。有什么最佳实践,何时使用? 同样,关于切片的相同问题: func myfunc() []MyStruct { return []MyStruct{ MyStruct{Val: 1} } } func myfunc() []*MyStruct { return []MyStruct{ …
327 pointers  go 

17
如果在WebView中按下后退按钮,如何返回上一页?
我有一个可以在其中WebView显示一些网站的应用程序。它的工作原理是,单击网页中的链接可转到应用程序内网站的下一页。但是,当我单击手机的后退按钮时,它将带我直接进入我的应用程序。我想返回网站的上一页。我怎样才能做到这一点? 这是我正在使用的代码示例: public class Webdisplay extends Activity { @Override public void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); this.getWindow().requestFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.webdisplay); getWindow().setFeatureInt(Window.FEATURE_PROGRESS, Window.PROGRESS_VISIBILITY_ON); Toast loadingmess = Toast.makeText(this, "Cargando El Diario de Hoy", Toast.LENGTH_SHORT); loadingmess.show(); WebView myWebView; myWebView = (WebView) findViewById(R.id.webview); myWebView.getSettings().setJavaScriptEnabled(true); myWebView.loadUrl("http://www.elsalvador.com"); myWebView.setWebViewClient(new WebViewClient()); myWebView.setInitialScale(1); myWebView.getSettings().setBuiltInZoomControls(true); myWebView.getSettings().setUseWideViewPort(true); final Activity …

5
访问bash命令行参数$ @ vs $ *
在许多SO问题和bash教程中,我看到我可以通过两种方式访问​​bash脚本中的命令行args: $ ~ >cat testargs.sh #!/bin/bash echo "you passed me" $* echo "you passed me" $@ 结果是: $ ~> bash testargs.sh arg1 arg2 you passed me arg1 arg2 you passed me arg1 arg2 $*和之间有什么区别$@? 一个人何时应使用前者,何时应使用后者?


8
Docker Compose和Kubernetes有什么区别?
在深入研究Docker,Google Cloud和Kubernetes的同时,还没有清楚地了解这三者,在我看来这些产品是重叠的,但它们并不兼容。 例如,docker-compose.yml需要重写文件,以便可以将应用程序部署到Kubernetes。 有人可以对Docker,Docker Compose,Docker Cloud和Kubernetes重叠之处以及其中一个相互依赖的地方进行概括的粗略描述吗?


14
Java SE / EE / ME之间的区别?
这个问题的答案是社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。 当我想开始学习Java时应该安装哪一个?我将从一些基础知识开始,因此我将编写一些简单的程序来创建文件,目录,编辑XML文件等,目前还没有什么太复杂的。 我猜Java SE(标准版)是我应该在Windows 7桌面上安装的版本。我已经有Komodo IDE,可以用来编写Java代码。
326 java  jakarta-ee  java-me 


4
我应该为Node.js和MySQL使用哪个ORM?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 我正在重写一个项目以使用Node.js。我想继续使用MySQL作为数据库(即使我不介意重写架构)。我正在寻找一种易于使用,性能合理的ORM,它支持缓存,多对一和多对多关系。从MySQL ORM中我可以发现,persistencejs和sequelize似乎是最成熟的。您是否有经验?我在决策中应注意哪些利与弊?
326 mysql  orm  node.js 

8
为什么我应该使用IHttpActionResult而不是HttpResponseMessage?
我一直在使用WebApi进行开发,然后转到了WebApi2,Microsoft在其中引入了一个新的IHttpActionResult接口,似乎建议将其用于返回a的接口HttpResponseMessage。我对这个新界面的优势感到困惑。它似乎主要只是提供了一种稍微容易些的创建方式HttpResponseMessage。 我认为这是“抽象的抽象”。我想念什么吗?除了节省一行代码之外,使用此新接口还能给我带来什么现实世界的好处? 旧方法(WebApi): public HttpResponseMessage Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { return new HttpResponseMessage(HttpStatusCode.OK); } else { throw new HttpResponseException(HttpStatusCode.NotFound); } } 新方法(WebApi2): public IHttpActionResult Delete(int id) { var status = _Repository.DeleteCustomer(id); if (status) { //return new HttpResponseMessage(HttpStatusCode.OK); return Ok(); } else { //throw new HttpResponseException(HttpStatusCode.NotFound); …

12
为什么调用System.gc()是一种不好的做法?
在回答了有关如何使用强制释放Java中的对象(那个家伙正在清除1.5GB的HashMap)的问题后System.gc(),我被告知System.gc()手动调用是不好的做法,但是注释并不完全令人信服。此外,似乎没有人敢于赞成,也没有反对我的回答。 有人告诉我这是一种不好的做法,但是后来我又被告知,垃圾收集器的运行不再系统地停止世界,而且它也可以有效地被JVM用作提示,所以我有点不知所措。 我确实了解到,JVM在需要回收内存时通常比您了解更多。我也了解担心数千字节的数据是愚蠢的。我还了解到,即使是数百万字节的数据也已不是几年前的样子。但还是1.5 GB?而且您知道内存中大约有1.5 GB的数据悬空。这不像是在黑暗中拍摄。是System.gc()系统上的问题,还是在某种程度上可以解决? 因此,问题实际上是双重的: 为什么打电话是不好的做法System.gc()?它真的只是在某些实现下对JVM的提示,还是总是一个完整的收集周期?真的有垃圾收集器实现可以在不停止工作的情况下完成其工作吗?请阐明人们在对我的答复的评论中所作的各种断言。 门槛在哪里?它是从来没有一个好主意,通话System.gc(),还是有时间当它是可以接受的?如果是这样,那几点?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.