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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux上传下载命令_linux常用的20个命令

    Linux上传下载命令_linux常用的20个命令1、从服务器上下载文件scpusername@servername:/path/filename/var/www/local_dir(本地目录)例如scproot@192.168.0.101:/var/www/test.txt把192.168.0.101上的/var/www/test.txt的文件下载到/var/www/local_dir(本地目录)2、上传本地文件到服务器scp/p…

    2022年8月24日
    3
  • AVX2指令集浮点乘法性能分析

    AVX2指令集浮点乘法性能分析AVX2指令集浮点乘法性能分析一、AVX2指令集介绍二、代码实现0.数据生成1.普通连乘2.AVX2指令集乘法:单精度浮点(float)3.AVX2指令集乘法:双精度浮点(double)三、性能测试测试环境计时方式测试内容进行性能测试第一次测试第二次测试四、总结个人猜测原因:一、AVX2指令集介绍AVX2是SIMD(单指令多数据流)指令集,支持在一个指令周期内同时对256位内存进行操作。包含乘法,加法,位运算等功能。下附Intel官网使用文档。Intel®IntrinsicsGuide我

    2022年5月30日
    35
  • 人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)

    人脸表情识别系统介绍——上篇(python实现,含UI界面及完整代码)摘要:这篇博文介绍基于深度卷积神经网络实现的人脸表情识别系统,系统程序由Keras,OpenCv,PyQt5的库实现,训练测试集采用fer2013表情库。如图系统可通过摄像头获取实时画面并识别其中的人脸表情,也可以通过读取图片识别,本文提供完整的程序文件并详细介绍其实现过程。博文要点如下:表情识别数据集、搭建表情识别的模型、数据增强的批量训练、系统UI界面的实现。点击跳转至博文涉及的全部文件下载页。

    2022年4月29日
    191
  • cisco交换机常用命令[通俗易懂]

    一台全新交换机,不同模式命令大全交换机基本状态显示及各个状态切换:hostname>用户模式hostname#特权模式hostname(config)#全局配置模式hostname(config-if)#接口或者vlan多个接口配置模式hostname(vlan)#…

    2022年4月7日
    45
  • qt将毫秒级时间戳转换为日期(js把对象变成字符串)

    需要加入的头文件:#include<QTime>一.秒单位时间转为字符串时、分、秒格式输出inttime_sec=100;QStringtimer=QTime(0,0,0).addSecs(int(time_sec)).toString(QString::fromLatin1(“HH:mm:ss”));qDebug()<<timer;//输出:”00:01:40″二.秒单位时间转为字符串时、分、秒、毫秒格式输出..

    2022年4月12日
    575
  • C语言简易贪吃蛇(附完整代码)

    C语言简易贪吃蛇(附完整代码)贪吃蛇小游戏这是楼主刚学完C语言写的第一个小游戏,代码主要参考:https://blog.csdn.net/qq_37074040/article/details/54766680我在模仿代码的过程中发现了原作者程序中的一些bug,以下f附有我加以改进后的代码。1.游戏界面楼主认为这个小游戏游戏界面的核心在于光标的控制。只要我们能让光标到达…

    2022年5月12日
    46

发表回复

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

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