go语言圣经-作用域

1.一个声明语句将程序中的实体和一个名字关联,比如一个函数或一个变量

2.一个变量的生命周期是指程序运行时变量存在的有效时间段;声明语句的作用域对应的是一个源代码的文本区域,它是一个编译时的属性

3.句法块是由花括弧所包含;我们可以把块(block)的概念推广到包括其他声明的群组,这些声明在代码中并未显式地使用花括号包裹起来,我们称之为词法块。

4.全局作用域 包级语法域 源文件级的作用域 局部作用域 函数级的作用域

5.从最内层的词法域向全局的作用域查找。内部的会覆盖外部的,如果查找失败,则报告“未声明的名字”这样的错误

6.词法域可以深度嵌套,因此内部的一个声明可能屏蔽外部的声明

7.隐式词法域, 比如:for循环 函数体词法域,一个在for隐式的初始化词法域,一个在for循环体词法域

8.Go语言的习惯是在if中处理错误然后直接返回,这样可以确保正常执行的语句不需要代码缩进。

9.要特别注意短变量声明语句的作用域范围,虽然变量在外部已经声明过,但是:=语句还是将变量重新声明为新的局部变量

避免出现类似潜在的问题,通过单独声明变量,来避免使用:=

go语言圣经-基础数据类型

1.基础类型、复合类型、引用类型和接口类型

2.基础类型,包括:数字、字符串和布尔型

3.复合数据类型——数组(§4.1)和结构体(§4.2)

4.引用类型包括指针(§2.3.2)、切片(§4.2))字典(§4.3)、函数(§5)、通道(§8),都是对程序中一个变量或状态的间接引用

go语言圣经-整型

1.int8、int16、int32和int64四种截然不同大小的有符号整数类型

2.uint8、uint16、uint32和uint64四种无符号整数类型

3.有符号和无符号整数int和uint;其中int是应用最广泛的数值类型。这两种类型都有同样的大小,32或64bit

4.byte也是uint8类型的等价类型,byte类型一般用于强调数值是一个原始的数据而不是一个小的整数

5.一种无符号的整数类型uintptr,没有指定具体的bit大小但是足以容纳指针

6.bit位操作运算符,& | ^   &^位清空 (AND NOT) <<左移 >>右移

7.使用了Printf函数的%b参数打印二进制格式的数字;其中%08b中08表示打印至少8个字符宽度,不足的前缀部分用0填充

&^是按位置零  x&^y  按y置零x  ;x^y 异或在 |或的基础上去掉两个都为1的部分

8.倾向于使用有符号的int类型,uint无符号类型比如在循环时条件判断处会出问题

9.无符号数往往只有在位运算或其它特殊的运算场景才会使用

10.类型不匹配的问题,需要显式类型转换,将一个大尺寸的整数类型转为一个小尺寸的整数类型,或者是将一个浮点数转为整数,可能会改变数值或丢失精度

11.整数字面值都可以用以0开始的八进制格式书写,例如0666,用以0x或0X开头的十六进制格式书写,例如0xdeadbeef

%d、%o或%x参数控制输出的进制格式,%之后的[1]副词告诉Printf函数再次使用第一个操作数,%后的#副词告诉Printf在用%o、%x或%X输出时生成0、0x或0X前缀,字符使用%c参数打印,或者是用%q参数打印带单引号的字符

[日常] Go语言圣经--作用域,基础数据类型,整型的更多相关文章

  1. Golang的基础数据类型-整型

    Golang的基础数据类型-整型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.整型概述 Go语言的整数类型一共有10个. int: 默认是有符号(signed)整形,占用空间 ...

  2. GO语言学习——基本数据类型——整型、浮点型、复数、布尔值、fmt占位符

    基本数据类型 整型 整型分为以下两个大类: 按长度分为:int8.int16.int32.int64 对应的无符号整型:uint8.uint16.uint32.uint64 其中,uint8就是我们熟 ...

  3. Golang的基础数据类型-字符型

    Golang的基础数据类型-字符型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 Go语言中的字符有两种,即uint8类型和rune类型. uint8类型: 我们也 ...

  4. Golang的基础数据类型-布尔型

    Golang的基础数据类型-布尔型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.bool类型概述 bool类型的取值范围: bool类型的值只有两种,其值不为真即为假,可以用 ...

  5. GOLANG 基本数据类型 整型

    基本数据类型-整型 种类     有符号(负号)      int8 int16 int32 int64 无符号(无符号) uint8 uint16 uint32 uint64 架构特定(取决于系统位 ...

  6. Golang的基础数据类型-字符串型

    Golang的基础数据类型-字符串型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字符型概述 上一篇博客学习了使用单引号括起来的单个字符就是字符类型,在Golang中有两种表 ...

  7. [日常] Go语言圣经--复合数据类型,数组习题

    go语言圣经-复合数据类型 1.以不同的方式组合基本类型可以构造出来的复合数据类型 2.四种类型——数组.slice.map和结构体 3.数组是由同构的元素组成——每个数组元素都是完全相同的类型——结 ...

  8. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  9. python基础知识2——基本的数据类型——整型,长整型,浮点型,字符串

    磨人的小妖精们啊!终于可以归置下自己的大脑啦,在这里我要把--整型,长整型,浮点型,字符串,列表,元组,字典,集合,这几个知识点特别多的东西,统一的捯饬捯饬,不然一直脑袋里面乱乱的. 对于Python ...

随机推荐

  1. WPF自定义Window窗体样式

    资源文件代码: <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation ...

  2. Android开发教程 - 使用Data Binding(五)数据绑定

    本系列目录 使用Data Binding(一)介绍 使用Data Binding(二)集成与配置 使用Data Binding(三)在Activity中的使用 使用Data Binding(四)在Fr ...

  3. Python3.5 学习二十

    学会用三种方法检索数据 1.对象方式 2.字典方式 3.元组方式 models后面,如果是.values() 则为字典方式 如果是value_list() 则为元组方式 跨表操作时,如果是对象,可以用 ...

  4. HTML textares的使用

    <textarea>标签定义及用法 在html中,<textarea>标签是用来定义一个多行的文本输入控件,在文本输入域中可以输入任意长度的文本.文本默认字体是等宽字体(Cou ...

  5. MySQL 并行复制(MTS) 从库更新的记录不存在实际却存在

    目录 背景 版本 分析 测试 背景 开了并行复制的半同步从库SQL 线程报1032错误,异步复制从库没有报错,偶尔会出现这种 版本 mysql 5.7.16 redhat 6.8 mysql> ...

  6. git小乌龟工具TortoiseGit记住你的账号密码

    在使用TortoiseGit的过程中,发下每次push或者pull都要重复输入账号密码,非常麻烦 怎么设置记住密码 在[系统盘]:\Users[你的用户名](比如C:\User\Administrat ...

  7. [原创]K8飞刀 新增Acunetix WVS 远程漏洞 反制黑客

    工具: K8飞刀20150603组织: K8搞基大队[K8team]作者: K8拉登哥哥博客: http://qqhack8.blog.163.com发布: 2015/6/3 20:41:29 简介: ...

  8. POJ 2521

    #include <iostream> #include <stdio.h> using namespace std; int main() { //freopen(" ...

  9. 10-05 Java 内部类概述和讲解

    内部类的概述 /* 内部类概述: 把类定义在其他类的内部,这个类就被称为内部类. 举例:在类A中定义了一个类B,类B就是内部类. 内部的访问特点: A:内部类可以直接访问外部类的成员,包括私有. B: ...

  10. 架构模式数据源模式之:数据映射器(Data Mapper)

    一:数据映射器 关系型数据库用来存储数据和关系,对象则可以处理业务逻辑,所以,要把数据本身和业务逻辑糅杂到一个对象中,我们要么使用 活动记录,要么把两者分开,通过数据映射器把两者关联起来. 数据映射器 ...