区块链基础语言——go语言变量(代码片段)

efish efish     2023-03-09     274

关键词:

一、变量名

1.1 命名规则

为提升代码可读性和可维护性,多采用统一的、可读性高的命名方式。Go语言变量名由一个或多个字母、数字、下划线组成的序列,但第一个字符必须是字母或下划线,不能是数字,且区分大小写。例如:1a不能作为变量名,myname和myName是不同的变量名。

1.2 命名风格

命名风格有多种,常见的有驼峰式命名和下划线命名,而Go语言拥护驼峰命名法,排斥下划线法。驼峰命名法分为两种:

? 大驼峰式命名:用大写字母分隔语义,首写字母大写,例如HelloWorld;

? 小驼峰式命名:用下划线分隔语义,首写字母小写,例如helloWorld。

二、变量的本质

程序中通过定义一个变量来申请一块数据存储空间。变量名即对一块数据存储空间的命名,通过引用变量名就可以使用这块存储空间。

三、单变量的声明和赋值

3.1 单变量的声明

变量声明的关键词是var,和其他语言的区别在于,变量名应放在变量类型之前。其声明格式为:

var v_name v_type

注:var是关键词,v_name是变量名,v_type是变量的值类型(在Go语言数据类型章节介绍过的类型),例如:var a int。

3.2 单变量的赋值

单变量的赋值方式有三种,如表1。

技术图片

注:a. 方式1中的赋值语句“a = 10”是执行语句,必须放在函数体内;

b. 方式3只能在函数体内使用;

c. 变量如果仅声明却不赋值,则变量取对应值类型的零值。

四、多变量的声明和赋值

4.1 多变量的声明

多变量声明的关键词是var,变量的类型不一定都相同,其声明格式如表2。

技术图片

注:多变量仅声明不赋值,则变量取默认值。

4.2 多变量的赋值

多变量的赋值方式有五种,如表3。

技术图片

注:a. 方式1的赋值语句“a, b, c = 1, 2, 3”和方式2的赋值语句“ a, b, c = 1, 2, “3””是执行语句,必须放在函数体内;

b. 方式4只能在函数体内使用;

c. 多变量如果仅声明却不赋值,则变量取对应值类型的零值。

五、匿名变量

下划线用于占位,表示对某个值的抛弃,例如后面函数章节会介绍:函数有多返回值,在函数返回值中使用下划线表示不使用它的值。

例如:在“_, a := 1, 2”中,1被抛弃,a = 2。

六、变量的类型转换

变量的类型转换,就是将一种数据类型的变量转换为另一种类型的变量。但是Go语言不支持隐式转换,即所有类型转换都必须显式声明,而且类型转换只能发生在两种相互兼容的类型之间。

技术图片

部分可以转换的类型如表4。

技术图片

 

参考资料

[1] 许式伟,吕桂华.Go语言编程[M].北京:人民邮电出版社,2012:20-21.

区块链基础语言——go语言结构(代码片段)

一、第一个Go程序我们第一个Go程序以最简单的Helloworld作为开始。所有Go语言程序文件的文件名都以“.go”结尾,该程序可以命名为:helloWorld.go。二、程序结构分析Go语言程序一般由关键字、包、常量、变量、运算符、符号... 查看详情

基于go语言构建区块链:part1(代码片段)

Golang语言和区块链理论学习完毕后,快速入门方法无疑是项目实战。本文将参考https://jeiwan.cc/tags/blockchain/教程,学习如何基于Go语言构建区块链。1、编程环境设置编程工具使用GoLand,前文已介绍软件安装经验。软件安装完成后... 查看详情

区块链技术go语言——数组篇(代码片段)

/**@Author:mrtao*@Date:2018-08-1414:48:25*@LastModifiedby:mrtao*@LastModifiedtime:2018-08-1415:55:51*/packagemainimport"fmt"funcmain() //指针 varp*int a:=10 p=&a //p& 查看详情

[go]用go语言实现区块链工作原理(代码片段)

...理这里就不写了,只写一个简单demo的实现首先得有一个区块用来存储区块头和区块体typeBlockstructVersionint64PreBlockHash[]byteHash[]byte//区块体内是不存储HASH值的,这是网络中某个节点在计算时存储在息本地的,这里是为了方便实现最... 查看详情

用go语言撸一个简易版的区块链(代码片段)

用go撸一个简易版的区块链引言这个最初的版本时多年以前学习go的时候,自己撸的一个简易版本的区块链。不过麻雀虽小,五脏俱全。通过这个代码你了解区块链内部的大概运行机制时没有问题的。比特币底层区块链的... 查看详情

用go语言撸一个简易版的区块链(代码片段)

用go撸一个简易版的区块链引言这个最初的版本时多年以前学习go的时候,自己撸的一个简易版本的区块链。不过麻雀虽小,五脏俱全。通过这个代码你了解区块链内部的大概运行机制时没有问题的。比特币底层区块链的... 查看详情

go语言凭什么是区块链的首选语言(代码片段)

GO语言凭什么是区块链的首选语言区块链的火热也带动了GO语言开发者的突增,那凭什么GO语言会成为最主要的区块链构建语言之一。我认为这得益于GO语言的性能、抽象度、简单性和现代性。并且,当下最成功、最流行的... 查看详情

goweb编程实战----go语言的基础语法(代码片段)

...布式存储、网络爬虫、运维开发、Web开发、服务端开发、区块链、IoT等领域都有所应用。今天,博主主要来详细介绍其基本的实用语法,方便读者能够快速的掌握Go语言的用法。Hel 查看详情

goweb编程实战----go语言的基础语法(代码片段)

...布式存储、网络爬虫、运维开发、Web开发、服务端开发、区块链、IoT等领域都有所应用。今天,博主主要来详细介绍其基本的实用语法,方便读者能够快速的掌握Go语言的用法。Hel 查看详情

区块链基础语言——go语言工程管理

一、工作区‍在《Go语言开发环境搭建》中已经讲述了GOPATH的设置。GOPATH就是自定义的工作区目录,该目录包含3个子目录:src目录存放源代码(比如以.go、.c、.h、.s结尾的源代码文件)pkg目录存放编译后生成的文件,即由goinsta... 查看详情

[ethereum]以太坊区块链搭建与使用-私有链(代码片段)

步骤一、下载go语言,并配置环境变量//以太坊源代码依赖的编译与运行环境二、通过gitclone以太坊源码(go-ethereum),并编译零、环境说明服务器版本:Ubuntu18.04序号环境名称环境版本1gcc7.5.02gcc-c++7.5.03go1.164go-ethereum1.9.25一、go安装st... 查看详情

区块链特辑——solidity语言基础(代码片段)

Solidity语法基础学习九、实战项目(一):学以致用UP主捐款合约·合约要求:  ·建立时,需将合约的建立者设定成owner(constructor,msg.sender)  ·需记录每个观众的捐款总额(mapping)  ·每次收到捐款时,需触发捐款事件:(... 查看详情

新人必看区块链开发零基础必备技能之go语言

近年来,区块链技术正在经历快速发展,并吸引了超过10亿美元的投资规模。而我们认为,最值得重视的是,区块链正在走进金融机构、大型企业、政府决策层的视野,大有从“草根力量”引发经济变革的态势... 查看详情

只用200行go代码写一个自己的区块链!(代码片段)

区块链是目前最热门的话题,广大读者都听说过比特币,或许还有智能合约,相信大家都非常想了解这一切是如何工作的。这篇文章就是帮助你使用Go语言来实现一个简单的区块链,用不到200行代码来揭示区块链的原理!高可用... 查看详情

区块链基础语言——go语言数据类型

一、类型分类数据类型分为基本类型和复合类型。基本类型包含:布尔型、数值型(整数型、浮点型、复数型)、字符串型、函数型。函数型在函数章节再介绍。复合类型包含:指针、数组、切片、字典、结构体、通道、接口。... 查看详情

200行go语言代码自建一个区块链体验挖矿乐趣(代码片段)

谈谈区块链:挖矿的目的:通过挖矿证明算力,防止他人作弊,自己又能获得奖励【给自己加钱】。挖矿的过程:将网上别的合法且最新的用户交易同步过来,加入到区块,然后加随机数哈希后与系统给出... 查看详情

golang比较适合啥领域

...门编程语言,首先要找到一份不错的教程,兄弟连go语言+区块链培训最近新出了一套go语言的教程,老师讲的非常不错!伴随着“区块链”概念在全球范围内的热议,金融、物流、征信、制造、零售等日常生活场景中也悄然加入... 查看详情

go语言基础(代码片段)

Go语言基础(二)跟着上篇,继续看Go基础一、变量作用域与C类似,有全局变量、局部变量、形参之分packagemainimport"fmt"//全局变量varc=20funcmain()//局部变量a:=10b:=20fmt.Println("a=",a)fmt.Println("a+b=",sum(a,b))fmt.Println("c=",c)//形参funcsum(aint,bi... 查看详情