02Golang执行流程简介

news2024/11/28 8:50:04

Golang执行流程简介

  • Golang执行流程的分析
    • 两种流程的方式区别
  • 什么是编译
  • 什么是运行
  • Go程序开发注意事项

Golang执行流程的分析

  • 如果是对源码编译后,再执行,go的执行流程如下
    在这里插入图片描述
  • 如果对源码直接执行go run源码,go的执行流程如下
    在这里插入图片描述

两种流程的方式区别

1.如果我们先编译生成了可执行文件,那么我们可以将该文件执行文件拷贝到没有go开发环境的机器上,任然可以运行

2.如果我们是直接go run go 源代码,那么如果要在另外一个机器上这么运行,也需要go开发环境,否则无法执行

3.在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多

什么是编译

1.有了go源文件,通过编译器将其编译成机器可以识别的二进制码文件

2.在该源文件目录下,通过go build对hello.go文件进行编译。可以指定生成的可执行文件名,在Windows下必须是.exe后缀

3.如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(Windows下是.exe,Linux下是一个可执行文件),该文件是一个二进制码而那件,也是可以执行的程序

4.如果程序有错误,编译时,会在错误的那行报错,有助于程序员排错
在这里插入图片描述

什么是运行

1.直接运行生成的可执行Go程序,比如hello.exe

2.通过运行工具go run对可执行文件进行执行

Go程序开发注意事项

1.Go源文件以“go”为扩展名

2.Go应用程序的执行入口是main()函数

3.Go语言严格区分大小写

4.Go方法由一条条语句构成,每个语句后不需要分号(go语言会在每行后自动加分号),体现golang的简洁性

5.Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多余的语句写在同一行,否则报错

6.Go语言定义的变量或者import包如果没有使用到,代码不能编译通过

7.大括号都是成对出现的,缺一不可

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

副业想做自媒体可以选择什么领域,适合宝妈的三个自媒体领域推荐

大家好,我是蝶衣王的小编,今天说说自媒体可以选择的领域 在过去的两年里,最受欢迎的职业之一必须属于自媒体。无论是全职还是副业,每个人都可以这样做。许多人经常在互联网上看到,通过自媒体,月收入数千或…

【汽车电子】can报文和can database(candbc)

1.can就是controller area network,是面向汽车的通信协议,通俗来讲就是在汽车电子控制领域中的不同部分进行通信的(传输数据)。 2.can报文有标准帧和扩展帧两种,也就是can和canfd,canfd是can的升级版&…

vscode git拉下来后LF CRLF问题

点击这里可以更改红色报错, windows下默认是CRLF, 类unix下LF 若CRLF数量非常多,解决方法: vscode 1. 在设置里Eol 选\n 2. 在根路径.editorconfig 里end_of_line lf 以上都不生效 可以有两种解决方案: 一. 下载插件EditorCo…

linux系统中如何挂载数据盘

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。 前言 作为一个开发人员,和服务器打交道是必不可少的,当然要和运维相比的话还是差点儿。 但是,在公司,作为一个程序员,难免会遇…

微电网优化调度|基于多目标粒子群算法的微电网优化调度【风、光、储能、柴油机、电网交互燃汽轮机】(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🎉作者研究:🏅🏅🏅本科计算机专业,研究生电气学硕…

(十三)Vue之监测数据改变的原理

文章目录监测数据改变的原理之对象vue.set的使用监测数据改变的原理之数组Vue学习目录 上一篇&#xff1a;&#xff08;十二&#xff09;Vue之列表渲染 先看一个需求&#xff1a;使用列表渲染出一组数据&#xff0c;然后点击按钮更新其中一个信息 <!--准备好一个容器--&…

微服务中统一日志-ELK

微服务中统一日志-ELK一.简介1.介绍2.流程3.要求4.下载地址二.安装Elasticsearch1.创建文件存放目录2.进入目录3.下载4.解压5.修改配置5.1.介绍5.2.系统配置5.3修改es配置5.4启动&#xff0c;测试三.安装Kibana1.进入目录2.下载3.解压4.修改配置4.1介绍4.2修改kibana配置4.3启动…

面试八股-JVM

1.Java代码编译过程 准备过程&#xff1a;初始化插入式注解处理器解析与填充符号表过程 词法、语法分析&#xff0c;将字符流转为标记集合&#xff0c;构造抽象语法树填充符号表&#xff0c;产生符号地址和符号信息 插入式注解处理器的注解处理分析与字节码生成过程 标注检查&…

描述统计 | 学习笔记

一.导论 统计学是通过收集&#xff0c;整理&#xff0c;分析&#xff0c;描述数据等手段&#xff0c;以达到推断所测对象的本质&#xff0c;甚至预测对象未来的一门综合性科学。其目的是探索数据的内在数量规律性&#xff0c;以达到对客观事物的科学认识 统计的本业是消化数据…

java语言【#107. 七的奇倍数】(已通过)

题目描述 ​ 如果一个数既是 7 的倍数又不能被 2 整除&#xff0c;那么我们称之为七的奇倍数。 ​ 输入一个正整数 n&#xff0c;判断它是否是 7 的奇倍数。 输入 ​ 输入一个正整数 n &#xff08;0≤n≤100&#xff09; 输出 ​ 如果 n 是 7 的奇倍数 输出 YES 否则输出 NO…

校园二手市场开题报告范文

目录 一、课题意义&#xff08;包括课题的理论意义和现实意义&#xff09; &#xff08;一&#xff09;理论意义 &#xff08;二&#xff09;现实意义 二、文献综述&#xff08;包括&#xff1a;1.理论的渊源及演进过程2.国内外对本课题的研究现状和有待解决的问题3.本人对所…

适合rv1109+rv1126使用基于RKmedia的人脸和车牌识别的SDK及使用介绍说明

基于RKmedia开发的人脸识别和车牌识别SDK简介及使用 一、功能简介 SDK下载&#xff1a;https://download.csdn.net/download/DeepLearning_/87272848 人脸检测&识别 对于人脸部分&#xff0c;SDK 提供了以下能力&#xff1a; 1. 人脸检测 1.1 人脸是否带口罩判定 1.2…

路由器的安装方法步骤

路由器的安装和设置如下&#xff1a; 1.首先连接线路&#xff0c;可以参考下图 2.线路连接完毕后&#xff0c;打开浏览器输入路由器的管理地址和管理密码然后进入路由器后台&#xff08;具体路由器的登录地址和登录密码可以参考说明书或者是路由器背面的标签&#xff09; 3.…

Nacos配置管理-配置热更新

Nacos配置自动刷新 Nacos中的配置文件变更后&#xff0c;微服务无需重启就可以感知。不过需要通过下面两种配置实现&#xff1a; 热更新-方法一&#xff1a;使用RefreshScope注解 在Value注入的变量所在类上添加RefreshScope注解&#xff1b; RestController RequestMapping(&…

直播|BIA Separations 和元生物两位大咖关于质粒DNA的制造工艺和质量控制

质粒 DNA&#xff08;pDNA&#xff09; 是生物研究和治疗开发中用于转移或表达基因的一个基本组成部分。细胞与基因治疗中最常用的载体AAV和慢病毒的生产都需要质粒作为起始材料&#xff0c;随着基因治疗&#xff0c;细胞治疗及DNA疫苗的快速发展&#xff0c;快速高效的大规模工…

腾讯云原生数据湖存储服务能力再上新,三级加速体系助力企业用数赋智

随着数据价值被越来越多企业认可&#xff0c;数据湖存储已成为企业级存储的首选和新一代提升生产力的服务。12月1日&#xff0c;在2022腾讯数字生态大会存储专场&#xff0c;腾讯云升级了云原生数据湖产品能力&#xff0c;并详细阐释了其设计理念&#xff0c;对其在多个行业的应…

数据万象技术演进之路

前言 Dale&#xff08;1969&#xff09;的“经验之塔”指出人们获取信息70%以上是通过视觉途径&#xff0c;在互联网时代也不例外。在当今图片音视频服务等已成为一个互联网应用中占比很大的部分&#xff0c;对图片和音视频等数据的处理能力也相应变成企业和开发者的一项基本技…

C++中二叉树的非递归遍历方法2-2

4 代码实现二叉树的非递归遍历 在“2 二叉树的遍历方法”中提到&#xff0c;二叉树的遍历方法有前序遍历、中序遍历、后序遍历属于深度优先遍历。接下来以前序遍历为例&#xff0c;通过代码实现该方法的二叉树非递归遍历。 4.1 前序遍历 4.1.1 前序遍历的非递归步骤 因为前…

记一次go协程读写锁 sync.RWMutex未释放导致其他协程阻塞bug

记一次go协程读写锁 sync.RWMutex未释放导致其他协程阻塞bug记一次go协程读写锁 sync.RWMutex未释放导致其他协程阻塞bug用到的监测工具程序简要介绍示例代码运行结果运行结果分析记一次go协程读写锁 sync.RWMutex未释放导致其他协程阻塞bug 通过一个简单示例模拟某协程结束&a…

[附源码]Python计算机毕业设计电影院订票系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…