Golang小技巧

Golang小技巧

作为一个golang新手,我们要写很多简单的golang代码,却又很想保留这些代码。

可是写下一个小程序的时候又不得不注释掉一些代码,渐渐的main函数很乱,或者有很多入口。

这里我介绍一种方法。即可以保留这些代码,又不会因为后续新增的代码导致他们很乱。

用到了golang的一些特性:

1. 加载一个包时,会自动运行其中的init()方法,一个包可以定义多个init方法,而且每个init()方法都会被调用。

2.import _ “xxxxx” 引入一个包,即使没调用里面的函数也不会报错,而且会执行其中的init()方法。

这是我的main package

package main import _ "learn" func main(){           }

当然你直接保存运行上面代码,有learn包的话不会报错,运行良好。当然如果learn包不存在肯定会报错。

如果我要写一个打印hello world!的小程序的话    我是这样做的:

在learn目录下建一个helloworld.go文件

package learn import "fmt" func init(){ //  return     fmt.Println("hello world!") }

保存运行… 什么结果呢?

输出:hello world!

如果不想这段代码运行直接在init里面return就可以了

这样每一个小程序一个文件,用init()代替了main()当做入口方法。是不是很方便呢?

转载于:https://my.oschina.net/yearnfar/blog/187278

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109949.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 阿里技术专家详解 Dubbo 实践,演进及未来规划

    阿里技术专家详解 Dubbo 实践,演进及未来规划

    2021年6月28日
    98
  • 实现领域驱动设计pdf_领域驱动设计实例

    实现领域驱动设计pdf_领域驱动设计实例在上一部分,分层架构的目的是为了将业务规则剥离出来在单独的领域层中进行实现。再回顾一下领域驱动设计的分层中应用层代码的实现。所有的业务规则都抽象到领域对象,比如“order.pay(amount)”

    2022年8月4日
    7
  • linux移动文件到另一个目录命令_Linux怎么解压zip到指定目录

    linux移动文件到另一个目录命令_Linux怎么解压zip到指定目录把xxx.jar移动到根目录里的lib中:mvxxx.jar/lib移动所有:到libmv*/lib把所有文件移动到上一级目录:mv*../

    2022年9月1日
    8
  • StopWatch类

    StopWatch类背景有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,然后这样如果执行大量测试的话就很麻烦,并且不直观,如果想对执行的时间做进一步控制,则需要在程序中很多地方修改,目前spring-framework提供了一个StopWatch类可以做类似任务执行时间控制,也就是封装了一个对开始时间,结束时间记录操作的Java类,小例一则如…

    2022年6月23日
    27
  • PHP 中高级程序员面试模拟题

    PHP 中高级程序员面试模拟题

    2022年2月18日
    36
  • 两地 三中心

    两地 三中心1、两地三中心同城双中心+异地灾备中心,“两地三中心”的灾备模式,方案兼具高可用性和灾难备份的能力。同城双中心是指在同城或邻近城市建立两个可独立承担关键系统运行的数据中心,双中心具备基本等同的业务处理能力并通过高速链路实时同步数据,日常情况下可同时分担业务及管理系统的运行,并可切换运行;灾难情况下可在基本不丢失数据的情况下进行灾备应急切换,保持业务连续运行。与异地灾备模式相比较,同城双中心具有投资成本低、建设速度快、运维管理相对简单、可靠性更高等优点。异地灾备中心是指在异地的城市建立一.

    2022年6月30日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号