Go Run - Go 语言中的简洁指令

news/发布时间2024/6/16 19:48:52

在这里插入图片描述

原文:breadchris - 2024.02.21

也许听起来有些傻,但go run是我最喜欢的 Go 语言特性。想要运行你的代码?只需go run main.go。它是如此简单,我可以告诉母亲这个命令,她会立即理解。就像 Go 语言的大部分功能一样,这个命令的真正威力在于它让理解如何构建和运行任何人的代码变得轻而易举。

我可以运行node main.js吗?是的,但如果你想使用像 esmodule 这样现代的语法,或者想在 typescript 中使用类型呢?你将不得不使用npm

在一种语言中,用来构建和运行代码的工具往往是不同的。作为项目维护者,你必须理解社区的实践和正确设置项目的惯例。即使是运行最简单的代码,通常也需要使用第三方库。例如,在 Ruby 编程语言中,“rake”构建工具因其灵活性和在许多开源项目中的应用而变得流行。同样,在 JavaScript 社区,npm 包和模块的广泛使用,推动了 npm 作为构建工具的流行。

语言会随着时间的推移而发展和变化,工具的出现和消失也是自然的。C 和 C++ 自 1970 年代以来就有“make”;Java 从 1990 年代的“ant”发展到 2000 年代初的 Maven。应用程序不同的需求会影响开发的工具,进而影响人们的工作流程。

这正是我如此喜爱go run的原因。Go 的整个设计都赋予了命令强大的力量。简单的语法,静态类型,严格的依赖管理系统,使编译器能快速解析和分析源代码,从而加快构建速度。更快的构建时间意味着更多的人可以使用这种语言来实现他们的目标。有趣的是,偶尔会看到一个 Go 项目包含Makefile,但编译步骤只是一个go build(构建;不运行代码),旧习难改。

有趣的事实:go run的一个被低估的特性是它会自动下载代码引用的任何依赖;多么酷啊!

我用其他语言编程的次数越多,就越感受到缺乏标准化构建系统的痛苦。对于像运行代码这样常见的操作,我发现要不断使用最新最好的构建系统真的让人感到挫败。对于编码理解如此关键的事情,比如如何运行代码,我觉得没有一个可靠的知识基础是无法接受的。

不要为软件开发流程的关键组件妥协或寻找权宜之计。要对你使用的工具负责,并为改变而战,这样你和其他人都会受益。当经验被分享,问题就会得到解决,人们的生活时间被节省,对编程的热情持续增长,而不是消退。

评论:

(译者注:bun 和 deno 都是新的 JavaScript 运行时)

bun run 😃 bun hing.ts 和 python 一样,但是没有编译,你需要安装 python,这就是我认为 Go 的美妙之处,即使是 rust,你也需要一个 cargo 文件。

令人惊讶的是,对于 js,我们不仅有 npm、yarn、pnpm 和 bower(有没有遗漏什么?),我们还有全新的运行时 bun 和 deno。这些并非邪恶,但请小心行事。由风投支持的 deno 公司会倒闭吗?也许 bun 会过时,我们又会追寻下一个新工具。同时,我会在这里,和无聊的 go run 在一起。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.bcls.cn/XBCj/8566.shtml

如若内容造成侵权/违法违规/事实不符,请联系编程老四网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

ruoyi框架学习

RBAC模型 数据字典 拦截器 token没有,submit,request.js中,前端前置拦截器,响应拦截器 后台 注解

【服务发现--service】

1、service的定义 "Service"简写"svc”。Pod不能直接提供给外网访问,而是应该使用service。Service就是把Pod暴露出来提供服务,Service才是真正的“服务”,它的中文名就叫“服务”。可以说Service是一个应用服务的抽象&#…

GPT 的基础 - T(Transformer)

我们知道GPT的含义是: Generative - 生成下一个词 Pre-trained - 文本预训练 Transformer - 基于Transformer架构 我们看到Transformer模型是GPT的基础,这篇博客梳理了一下Transformer的知识点。 BERT: 用于语言理解。(Transformer的Encoder…

project.config.json 文件内容错误] project.config.json: libVersion 字段需为 string, string

家人们,遇到了一个新的报错 于是从网上找了各种方法,有说把开发者工具关闭重启的,有说开发者工具下载重新下载的,有说开发者工具路径安装得在C盘的,均没有效果 解决方法: 1、运行项目,在开发者…

海量物理刚体 高性能物理引擎Unity Physics和Havok Physics的简单性能对比

之前的博客中我们为了绕过ECS架构,相当于单独用Batch Renderer Group实现了一个精简版的Entities Graphics,又使用Jobs版RVO2实现了10w人同屏避障移动。 万人同屏对抗割草 性能测试 PC 手机端 性能表现 弹幕游戏 海量单位同屏渲染 锁敌 避障 非ECS 那么有…

鸿蒙开发-UI-图形-绘制自定义图形

鸿蒙开发-UI-组件 鸿蒙开发-UI-组件2 鸿蒙开发-UI-组件3 鸿蒙开发-UI-气泡/菜单 鸿蒙开发-UI-页面路由 鸿蒙开发-UI-组件导航-Navigation 鸿蒙开发-UI-组件导航-Tabs 鸿蒙开发-UI-图形-图片 鸿蒙开发-UI-图形-绘制几何图形 文章目录 前言 一、使用画布组件绘制自定义图形 1.初…

GPIO八种工作模式

目录 一、推挽输出 二、开漏输出 三、复用推挽输出 四、复用开漏输出 五、浮空输入 六、上拉输入 七、下拉输入 八、模拟输入 GPIO八种配置模式,原理和使用场景,硬件原理如下图: 一、推挽输出 1、 原理 当控制栅极为低电平时&#x…

最新IE跳转Edge浏览器解决办法(2024.2.26)

最新IE跳转Edge浏览器解决办法(2024.2.26) 1. IE跳转原因1.1. 原先解决办法1.2. 最新解决办法1.3. 最后 1. IE跳转原因 关于IE跳转问题是由于在2023年2月14日,微软正式告别IE浏览器,导致很多使用Windows10系统的电脑在打开IE浏览…

ChatGPT Plus遇到订阅被拒原因与解决方案

ChatGPT Plus被广泛认为相比普通版本更快、更强,并且能最先体验新功能。 很多小伙伴再订阅时遇到图片中的问题 错误提示包括这些: Your credit card was declined.Try paying with a debit card instead.您的信用卡被拒绝了。请尝试用借记卡支付。你的…

基于uniapp大学生社团活动管理系统python+java+node.js+php微信小程序

uni-app框架:使用Vue.js开发跨平台应用的前端框架,编写一套代码,可编译到Android、小程序等平台。 语言:pythonjavanode.jsphp均支持 框架支持:springboot/Ssm/thinkphp/django/flask/express均支持 运行软件:idea/eclipse/vscod…

idea打包报错,clean、package报错

一、idea在打包时,点击clean或package报错如下: Error running ie [clean]: No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system. 示例图&#xf…

AutoGen Studio助力打造私人GPTs

微软最近在开源项目里的确挺能整活儿啊! 这次我介绍的是AutoGen Studio,我认为这个项目把AutoGen可用性又拔高了一个层次的项目 项目给自己的定义是交互式的多Agent workflow 项目地址:autogen/samples/apps/autogen-studio at main microsoft/autogen (github.com) 首先我…

LINUX基础培训二十五之shell表达式与运算

一、条件表达式 条件表达式是用于判断条件是否满足的逻辑表达式,当条件为真,返回0,否则返回1。 常用语法: 1、test 测试表达式 2、[ 测试表达式 ] #两边需要有空格 3、[[ 测试表达式 ]] 4、(( 测试表达式 )) 第一种和第二种是等…

Vue 3, TypeScript 和 Element UI Plus:前端开发的高级技巧与最佳实践

Vue 3、TypeScript 和 Element UI Plus 结合使用时,可以提供一个强大且灵活的前端开发环境。以下是一些高级用法和技巧,帮助你更有效地使用这些技术: 1. Vue 3 高级特性 Composition API 使用 setup 函数: Vue 3 引入了 Composition API&am…

抖音视频批量下载工具|视频内容提取软件

这 款基于C#开发的抖音视频下载工具提供了多项实用功能,让用户可以方便快捷地获取抖音平台上的视频内容。 轻松下载抖音视频,尽在这款专业工具! 无论您是想要批量提取抖音视频,还是只需下载单个视频,这款基于C#开发的…

js 实战小案例

实战 时间 js 格式化时间 <script type"text/javascript">function formatDate(date) { let year date.getFullYear(); let month String(date.getMonth() 1).padStart(2, 0); // getMonth() 返回的月份是从0开始的&#xff0c;所以要加1&#xff0c;并…

Sora - 真正单兵作战时代来临了

一、 OpenAI Sora 视频生成模型技术报告总结 不管是在视频的保真度、长度、稳定性、一致性、分辨率、文字理解等方面&#xff0c;Sora都做到了SOTA&#xff08;当前最优&#xff09;。 技术细节写得比较泛&#xff08;防止别人模仿&#xff09;大概就是用视觉块编码&#xff08…

SpringCloud微服务-Eureka注册中心

Eureka注册中心 文章目录 Eureka注册中心前言1、Eureka的作用2、搭建EurekaServer3、服务注册4、启动多个实例5、服务拉取 -实现负载均衡 前言 在服务调用时产生的问题&#xff1a; //2. 利用RestTemplate发起HTTP请求&#xff0c;查询user String url "http://localho…

【QT+QGIS跨平台编译】之五十四:【QGIS_CORE跨平台编译】—【qgssqlstatementlexer.cpp生成】

文章目录 一、Flex二、生成来源三、构建过程一、Flex Flex (fast lexical analyser generator) 是 Lex 的另一个替代品。它经常和自由软件 Bison 语法分析器生成器 一起使用。Flex 最初由 Vern Paxson 于 1987 年用 C 语言写成。 “flex 是一个生成扫描器的工具,能够识别文本中…

荣获国家高新技术企业认证,苹芯科技领航AI芯片产业发展

北京苹芯科技有限公司&#xff08;以下简称“苹芯科技”&#xff09;凭借在存算一体芯片领域的卓越表现&#xff0c;荣获国家高新技术企业认证。这一荣誉不仅是对苹芯科技多年来在科技创新、产品研发等方面所取得成果的肯定&#xff0c;更是对其未来发展潜力的认可。 苹芯科技…
推荐文章