区块链基础语言(四)——Go语言工程管理

一、工作区‍

在《Go语言开发环境搭建》中已经讲述了GOPATH的设置。GOPATH就是自定义的工作区目录,该目录包含3个子目录:

src目录

存放源代码(比如以.go、.c、.h、.s结尾的源代码文件)

pkg目录

存放编译后生成的文件,即由go install命令构建安装后的代码包(包含Go库源码文件)的“.a”归档文件

bin目录

存放编译后生成的可执行文件,即通过go install命令完成安装后,保存由Go命令源码文件生成的可执行文件。

加到GOPATH,但此时需要用分隔符分隔。Windows系统里分隔符用分号,Mac和Linux系统里分隔符用冒号。

二、包

2.1 包的简介

如果较大应用程序代码在一个文件,则这个程序可读性差。而go语言的包可以组织源代码,按程序的功能性将源代码分割成一个一个逻辑单元,这样开发者很容易维护这个应用程序。

例如,一个下载软件是一个较大的应用程序,它拥有下载、视频播放等功能。对这个应用程序的代码进行组织,可以将下载功能作为一个包,视频播放功能作为一个包。而一些下载软件在下载过程中可以播放正在下载的视频,这可以在下载功能的代码包中导入播放功能的代码包实现该功能。另外,如果这个应用程序中的某个功能出现问题,开发人员可以针对地对该功能所对应的代码包进行维护。

2.2 main包

Go语言里,main包是一个特殊的包,它包含主函数main( )函数,主函数是程序的执行起点。而每个go语言源文件的第一行都要对包进行声明,例如main包的声明:package main。

原文地址:https://www.cnblogs.com/efish/p/10489073.html

时间: 2024-08-29 22:34:39

区块链基础语言(四)——Go语言工程管理的相关文章

1.2 区块链基础知识

1.2.1  区块链相关术语 区块链板块主要更新一些专业技术.相关算法 及 技术实现. 其中一些的相关基础知识就不再做赘述了.  但是 我给大家搜集整理了一下  相关术语,想入门但对这个方向还是不是很了解的小伙伴,可以看一下下面的这个: <区块链行业字典> 1.2.2  区块链始祖--比特币技术 来自中本聪的比特币白皮书:<一种点对点的电子现金系统>中文版 1.2.3  区块链特性 去中心化:因为它是分布式存储的,所以不存在中心点,也可以说各个节点都是中心点,生活中应用就是不需要第

区块链基础知识

title: 区块链基础知识 date: 2019-12-31 21:18:44 tags: 区块链 categorys: 区块链学习 由于毕设要做关于区块链的题目,也挺烦兴趣.就在最近借了基本书,来补一下基础知识. 选的书 区块链技术原理及底层架构 北京航空航天大学出版社 陈东敏,郭峰,广红. 区块链 重塑新金融 清华大学出版社 赵增奎 宋俊典 等 Node.js区块链开发 机械工业出版社 朱志文 区块链技术原理及底层架构 ? 区块链起源于比特币,2008年11月1日,一位自称中本聪(Sato

区块链基础语言(五)——Go语言结构

一.第一个Go程序 我们第一个Go程序以最简单的Hello world作为开始.所有Go语言程序文件的文件名都以“.go”结尾,该程序可以命名为:helloWorld.go. 二.程序结构分析 Go语言程序一般由关键字.包.常量.变量.运算符.符号.类型和函数组成.在这个程序仅涉及到关键字.包.符号和函数,以下对这些内容做简要介绍.这些内容的详细介绍以及常量.变量.运算符.类型等知识点在后面章节逐一展开. 2.1 关键字 关键字只能在特定的语法结构中使用,不能用于自定义名字.在Go语言程序里,有

区块链基础语言(六)——Go语言数据类型

一.类型分类 数据类型分为基本类型和复合类型.基本类型包含:布尔型.数值型(整数型.浮点型.复数型).字符串型.函数型.函数型在函数章节再介绍. 复合类型包含:指针.数组.切片.字典.结构体.通道.接口.复合类型在后面章节再逐一介绍. 二.基本类型 在计算机信息技术中,字节是计量存储容量的一种计量单位,通常情况一字节有八位二进制数.而每个类型的值至少占一个字节的内存空间.在Go语言中,当一个变量或者新值被创建时,如果没有为其明确指定初始值,则Go语言会自动针对此类型取默认值,此默认值就是零值.

区块链基础语言(七)——Go语言变量

一.变量名 1.1 命名规则 为提升代码可读性和可维护性,多采用统一的.可读性高的命名方式.Go语言变量名由一个或多个字母.数字.下划线组成的序列,但第一个字符必须是字母或下划线,不能是数字,且区分大小写.例如:1a不能作为变量名,myname和myName是不同的变量名. 1.2 命名风格 命名风格有多种,常见的有驼峰式命名和下划线命名,而Go语言拥护驼峰命名法,排斥下划线法.驼峰命名法分为两种: ? 大驼峰式命名:用大写字母分隔语义,首写字母大写,例如HelloWorld: ? 小驼峰式命名

JMeter 压测基础(四)——Java工程测试

JMeter Java工程测试 1.eclipse中新建工程 2.导入需要的jar包 从JMeter安装目录lib/ext中两个jar包buildPath到Java project中,分别是“ApacheJMeter_core.jar"和“ApacheJMeter_java.jar” 3.编写JMeter辅助函数 JMeter Java Sampler 介绍 执行的先后顺序: getDefaultParameters()——> setup Test(javaSamplerContext c

Go语言与区块链——阶段性学习建议

2019年Go语言与区块链 链接: https://pan.baidu.com/s/1rtstZKws3t9L8bcFZmUd3Q 提取码: gx1r 阶段一:区块链主流语言:Go语言开发实战 本阶段需要掌握Linux和Windows双系统开发环境,建立面向对象思维,能对问题进行抽象归类.掌握基础的并发理论. 主要内容包括有:Go语言介绍及开发环境搭.基础类型.运算符.流程控制.函数.工程管理.复合类型.面向对象编程.异常处理.文本文件处理.案例:开发实战. 阶段二:区块链后端技术体系:Go语言

001/Go语言构建区块链(mooc)

1.区块链发展与现状 视频地址:https://www.imooc.com/video/17452 注意: 比特币与以太坊最大的区别在于: 以太坊引入了对图灵完美智能合约的支持,人们可以将任何业务逻辑以合约的形式写入区块链,在以太坊前,发行自己的数字货币,就需要搭建一个独立的区块链网络. 比较稳定,被拿来研究的区块链系统: [1].超级账本 本身不是一个完整的区块链系统,而是方便企业搭建自己的区块链框架.各个组件,如数据存储,共识算法等,都可以灵活替换与组装.对智能合约也有很好的支持. 因此常被

区块链概念,基础

一.区块链的技术: 1. 分布式账本:交易是由分布式系统中多个节点共同记录的,数据安全性和有效性. 2. 加密技术和授权技术 :区块链技术很好地集成了当前对称加密.非对称加密.哈希算法的许多优点,并使用了数字 签名技术来保证交易的安全性,其中最具代表性的是使用椭圆曲线加密算法生成用户的公私钥对 和使用ECDSA(椭圆曲线数字签名算法)来保证交易安全. 3. 共识机制 :共识机制是区块链系统中各个节点达成一致的策略和方法.共识机制既是 4 数据写入的方式,也是防止篡改的手段. 常用的共识机制主要有