区块链基础知识

前言:刚刚开始学习区块链,随手记录了一些关于go和solidity的基础知识,不当之处敬请指正。

1、全局变量必须首字母大写,才能在外部包中使用

2、函数定义中的变量 称为形式参数

3、在函数体内声明的变量称为局部变量,一般形式下使用关键var声明

4、包声明关键字:package

5、被private修饰的成员变量,只能被该类自身所访问和修改

6、Go浮点类型float64默认值为0

7、solidity的循环方式有for 、while 、do......while。while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果。

8、stack(栈)的存储成本最低,memory成本低于storage(存储)通常存储临时数据,storage上的数据可以永久存储。

9、接口正确表示:interface test{ function test() external returns (uint256);}

10、solidity中变量命名示例:uint text_name;

11、可以进行输入输出示例:function test(uint _a,uint _b) public returns(uint _sum){}

12、字节类型转换成字符串类型使用API:string(str[:])

13、字符串类型转换为int整数使用API:strconv.Atoi(num)

14、字符串类型转换为字节类型使用API:[]byte(str)

15、整数int转换为字符串类型使用API:strconv.Itoa(num)

  1. 一个指针变量指向了一个值的内存地址
  2. go语言数组是具有相同类型的一组长度固定的数据序列
  3. 切片(slice)是对数组一个连续片段的引用,所以切片是一个引用类型
  4. 一个函数可以没有返回值,也可以有一个返回值,也可以有多个返回值
  5. go语言数组遍历有两种形式,一种使用for...range循环遍历数组,一种是使用常规for循环遍历数组。
  6. map是一种无序的基于key-value的数据结构,用于存储一系列无序的键值对
  7. 一个函数被调用后,返回给调用处的执行结果,叫做函数的返回值
  8. 函数是go里面的核心设计,它通过关键字func来声明
  9. 有一种自定义数据类型可以封装多个基本数据类型,这种数据类型叫结构体
  10. 结构体访问成员使用点号.操作符
  11. GO函数支持不定数目的形式参数,不定参数声明使用argumentName ...Type的语法格式
  12. 结构体的嵌套,一个结构体中可以嵌套包含另一个结构体或结构体指针
  13. 数组元素可以通过索引下标(位置)来读取或者修改元素数据


 

GO语言关键词

  • func:定义函数和方法

  • var和const:变量和常量的声明

  • struct:用于定义抽象数据类型

  • map:用于声明自定义类型

条件语句if

  • 可以没有else保留字

  • 由一个布尔表达式后紧跟一个或多个语句组成

  • 在布尔表达式为true时,其后紧跟的语句块执行,如果为false则不执行。

  • 需要开发者通过指定一个或多个条件,并通过测试条件是否为true来决定是否执行指定语句,并在条件为false的情况下执行另外的语句。

  • 可以通过&&逻辑与,||逻辑或,!逻辑非,来判断表达式

GO语言中包文件引用

  • 包的引用路径有两种写法,绝对路径与相对路径
  • 需要使用import关键字导入使用的包
  • 在导入包时,可以为导入的包设置别名,可以使用匿名引用格式

GO语言中字符串类型

  • 字符串是一个或多个字符(字母,数字,符号)的序列
  • 字符串是一种值类型,且值不可变
  • 字符串所占的字节长度可以通过函数len()来获取

Go 语言包下的函数方法调用

  • 同一个包中调用函数,函数名定义没有特定要求
  • 不同包调用函数或者变量时,函数名定义必须以大写字典开头
  • GO不同文件夹(包)之间的相互引用靠包来实现,也就是import

GO语言结构体的定义

  • GO语言中通过结构体(struct)来实现面向对象
  • 结构体是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体
  • GO语言提供了一种自定义数据类型,可以封装多个数据类型,这种数据类型叫结构体(struct)
  • 每个值称为结构体的成员

GO语言切片的声明方式示例

slice:=make([]int,5)

slice:=make([]int,5,10)

slice:=[]int{1,2,3,4,5}

slice:=[]int{4:1}

关于Go格式化输出

  • Print系列函数会将内容输出到系统的标准输出
  • Print函数会直接输出内容
  • Println函数会在输出内容的结尾添加一个换行符
  • Printf函数支持格式化输出字符串

Go 语言不定函数参数

  • 所有的不定参数类型必须是相同的
  • 不定参数必须是函数的最后一个参数
  • 不定参数在函数体内相当于一个切片,对切片的操作同样适合对不定参数的操作
  • 切片也可以作为参数传递给不定参数,切片名称后面要加上“...”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值