一.GO运行的两种方式

1.如果是对源码编译后,再执行

如:hello.go文件

hello.go文件(源文件)----go build hello.go[编译文件]--->变成可执行文件(.exe或其他可执行文件)---hello.exe [运行]-->输出结果

2.如果是我们是对源码直接 执行go run

hello.go文件---go run hello.go [编译运行一步]-->输出结果

两种执行流程的区别:

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

2)如果我们是直接go run go文件 ,那么如果在另外没有go开发环境的机器是无法执行的。

3)在编译时,编译会将呈现运行依赖的库文件包含在可执行文件中,所以,可指定文件变大了很多。

什么是编译

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

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

3)如果没有错误,没有任何提示,会在当前目录下会出现一个可执行文件

(windows下是.exe,Linux下是一个可执行文件),该文件是二进制码文件,也是可以执行的文件。

4)如果程序有错误,编译时,会在错误的那行报错,有助于调试。

二.go 从hello.go开始

package main

import "fmt"

func main() {
    fmt.Println("hello world go!") }

hello.go 编译成其他的文件名的可执行文件

三.GO程序开发的注意事项

1)GO源文件以”go”为扩展名

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

3)GO语言严格区分大小写

4)GO方法由一条语句构成,每个语句不需要分号(GO语言会在每行自动加分号),这也体现出Golang的简洁性

5)GO编程是一行行进行编译的,因此我们一行就写一条语句,不要把多条语句写在同一行,否则会出错。

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

7)大括号都是成对存在的,缺一不可。

GO学习之 从hello.go开始的更多相关文章

  1. 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代

    2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...

  2. Angular2学习笔记(1)

    Angular2学习笔记(1) 1. 写在前面 之前基于Electron写过一个Markdown编辑器.就其功能而言,主要功能已经实现,一些小的不影响使用的功能由于时间关系还没有完成:但就代码而言,之 ...

  3. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  4. 消息队列——RabbitMQ学习笔记

    消息队列--RabbitMQ学习笔记 1. 写在前面 昨天简单学习了一个消息队列项目--RabbitMQ,今天趁热打铁,将学到的东西记录下来. 学习的资料主要是官网给出的6个基本的消息发送/接收模型, ...

  5. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  6. Unity3d学习 制作地形

    这周学习了如何在unity中制作地形,就是在一个Terrain的对象上盖几座小山,在山底种几棵树,那就讲一下如何完成上述内容. 1.在新键得项目的游戏的Hierarchy目录中新键一个Terrain对 ...

  7. 《Django By Example》第四章 中文 翻译 (个人学习,渣翻)

    书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:祝大家新年快乐,这次带来<D ...

  8. 菜鸟Python学习笔记第一天:关于一些函数库的使用

    2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的 ...

  9. 多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类)

    前言:刚学习了一段机器学习,最近需要重构一个java项目,又赶过来看java.大多是线程代码,没办法,那时候总觉得多线程是个很难的部分很少用到,所以一直没下决定去啃,那些年留下的坑,总是得自己跳进去填 ...

  10. node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理

    一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...

随机推荐

  1. AntDesign(React)学习-8 Menu使用 切换框架页内容页面

    本节实现一个点击左侧menu在右侧content切换页面效果,原始代码请从UMI学习-6开始看 1.在pages下添加两个组件,User,UserRole import React from 'rea ...

  2. optim.SDG 或者其他、实现随机梯度下降法

    optim.SDG 或者其他.实现随机梯度下降法 待办 实现随机梯度下降算法的参数优化方式 另外还有class torch.optim.ASGD(params, lr=0.01, lambd=0.00 ...

  3. 《深入理解Java虚拟机》读书笔记五

    第六章 类文件结构 1.无关性的基石 各种不同平台的虚拟机与所有平台都统一使用程序存储格式——字节码是构成平台无关的基石. 实现语言无关性的基础仍然是虚拟机和字节码存储格式,Java虚拟机不和包括Ja ...

  4. 题解【洛谷P1886】滑动窗口 /【模板】单调队列

    题面 单调队列模板题. 单调队列可以从队首和队尾出队. 队列中的元素大小具有一定的顺序. 具体可参考这一篇题解 #include <bits/stdc++.h> #define itn i ...

  5. Codeforces Round #623 (Div. 1, based on VK Cup 2019-2020 - Elimination Round, Engine)A(模拟,并查集)

    #define HAVE_STRUCT_TIMESPEC #include<bits/stdc++.h> using namespace std; pair<]; bool cmp( ...

  6. 粗略写了使用GD2制作文字图像demo

    项目要求宽,高为传入参数:文字大小,文字间隔需要自动调节: 由于imagettftext()函数写入文字坐标点不以画布左上角为原点,而是根据文字的字体类型,字体大小,中英文,标点等因素变换(测试多组数 ...

  7. 2-第一个Django程序

    第一个Django程序 从本章节开始将通过实现一个投票应用程序,来让用户逐步的了解Django.这个程序由两步分组成: 公共站点,允许用户访问进行投票,和查看投票. 站点管理,允许添加,删除,修改投票 ...

  8. Request原理

  9. Java之字符串替换replace()

    replace(char oldChar, char newChar)返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的 import java.uti ...

  10. 用OpenCV读取摄像头

    首先插入摄像头 在电脑中查看 #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp ...