1. Go语言中变量的声明

Go 语言变量名由字母, 数字, 下划线组成; 其中首个字符不能为数字; Go语言中关键字和保留字都不能作变量名;

Go 语言中的变量需要声明后才能使用, 同一作用域内不支持重复声明; 并且Go语言的变量声明后必须使用;

1.1 var声明变量

var 变量名称 变量类型

  • 变量声明后没有初始化的话, 值为空
func main() {// 变量名  :=  表达式var name stringvar a1 = "张三"         //可以省略类型fmt.Println(name, a1) //变量声明后没有初始化的话,  值为空
}

1.2 变量的初始化

Go 语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值;

例如:

  1. 整型和浮点型变量的默认值为 0。

  2. 字符串变量的默认值为空字符串。

             3.  布尔型变量默认为 false。4.  切片、函数、指针变量的默认为 nil。
    
  • 初始化第一种方式, 先声明后赋值

    func main() {var name string //变量声明name = "张三"     //变量初始化赋值fmt.Printf(name)
    }
    
  • 第二种方式, 声明的时候直接赋值

    //定义入口文件
    func main() {var name string = "张三" fmt.Println(name, age)
    }
    
  • 第三种初始化方式, 类型推导的方式直接赋值, 省略 变量类型, 推荐使用

    func main() {var age = 18 //类型可以省略, 可以根据类型推导自动判断类型fmt.Println(age)
    }
    

1.3 一次声明多个变量

  • var 变量名称, 变量名称 类型; 声明的变量类型必须一致

    //定义入口文件
    func main() {var name, sex string  //声明的变量类型必须一致fmt.Printf("name的类型是%T sex的类型是%T", name, sex)
    }
    
  • 声明的变量类型可以不一致

    func main() {var (name stringage  intsex  = "男" //声明的时候可以直接赋值,可以省略数据类型,自动推导类型)fmt.Printf("name的类型是%T age的类型是%T sex的值是=%v", name, age, sex)
    }
    

    注意:

    • go语言中, 声明的变量类型和赋值的类型必须保持一致, 比如,声明为string,就必须赋值为string
    • 变量声明之后, 必须要使用, 不然会报错

1.4 短变量声明法(推荐使用)

  • 在函数的内部, 可以使用更简略的 := 方式声明并初始化变量
  • 注意: 短变量只能用于声明局部变量; 不能用于全局变量的声明
var a = 10
//定义入口文件
func main() {b := "男"fmt.Printf("a=%v b=%v", a, b)
}
  • 声明多个变量

    func main() {a, b, c := 12, 13, "学习" //类型可以不一致,  var声明必须保持类型一致, 不能类型推导fmt.Println(a, b, c)
    }
    

1.5 类型推导

有时候我们会将变量的类型省略,这个时候编译器会根据等号右边的值来推导变量的类型完成初始化

1.6 匿名变量(忽略某个值)

  • 在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)。 匿名变量用一个下划线_表示

  • 匿名变量不占用命名空间, 不会分配内存, 所以匿名变量之间不存在重复声明

//(int, string) 表示要返回数据的类型
func getInfo() (int, string) {return 10, "张三"
}func main() {// 下划线_ 忽略了10, 张三赋值给了username_, username := getInfo()fmt.Println(username)
}

2. Go语言中的常量

2.1 使用const定义常量

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把 var 换成了 const,常量在定义的时候必须赋值

  • 常量在定义的时候必须赋值
  • const 同时声明多个常量时,如果省略了值则表示和上面一行的值相同
func main() {const p = 3.1415// p = 1.123 不能重新赋值, 变量可以fmt.Println(p) //在整个程序运行期间它们的值都不能再发生变化了const (n1 = 100n2  //如果省略了值则表示和上面一行的值相同n3  //如果省略了值则表示和上面一行的值相同)fmt.Println(n1, n2, n3)
}输出:
I:\goiteam>go run main.go
3.1415
100 100 100

2.2 const常量和iota的使用

iota 是 golang 语言的常量计数器, 只能在常量的表达式中使用。

iota 在 const 关键字出现时将被重置为 0(const 内部的第一行之前);

const 中每新增一行常量声明将使 iota 计数一次(iota 可理解为 const 语句块中的行索引)。

2.2.1 iota 只能在常量的表达式中使用;

2.2.2 每次 const 出现时, 都会让 iota 初始化为0 (自增长)

func main() {const p = iota //p=0const (n1 = iota //0n2        //1n3        //2)fmt.Println(p, n1, n2, n3) //0 0 1 2
}

2.2.3 const iota 使用_跳过某些值

func main() {const (n1 = iota //0n2        //1_n3 //3)fmt.Println(n1, n2, n3) // 0 1 3
}

2.2.4 iota 声明中间插队

func main() {const (n1 = iota //0n2 = 100  //100n3 = iota //2n4        //3)fmt.Println(n1, n2, n3, n4) //0 100 2 3
}

2.2.5 多个 iota 定义在一行

func main() {const (n1     = iota               //0n2, n3 = iota + 1, iota + 2 //2,3n4, n5                      //3,4)fmt.Println(n1, n2, n3, n4, n5) //0 2 3 3 4
}

3. Go语言变量, 常量命名规则

  • 变量名称必须由数字、字母、下划线组成
  • 标识符开头不能是数字
  • 标识符不能是保留字和关键字
  • 变量的名字是区分大小写的如: age 和 Age 是不同的变量。在实际的运用中,也建议,不要用一个单词大小写区分两个变量。
  • 标识符(变量名称)一定要见名思意 :变量名称建议用名词,方法名称建议用动词;
  • 变量命名一般采用驼峰式(大驼峰或小驼峰),当遇到特有名词(缩写或简称,如 DNS)的时候,特有名词根据是否私有全部大写或小写;

4. Go语言代码风格

  • 代码每一行结束后不用写分号( ;)

  • 运算符左右建议各加一个空格: var username string = "itying"

  • Go 语言程序员推荐使用驼峰式命名; 当名字有几个单词组成的时优先使用大小写分隔

    小驼峰表示私有, 大驼峰表示公有

  • 强制的代码风格

    左括号必须紧接着语句不换行,这个特性刚开始会使开发者不习惯,但随着对 Go 语言的不断熟悉,就会发现风格统一让大家在阅读代码时把注意力集中到了解决问题上,而不是代码风格上

  • go fmt 主要用于格式化文档,让所有人的代码风格保持一致, 现在一般编辑器保存都自动格式化了

D:\golang\src\demo01>go fmt main.go main.go

3.Go语言中常量,变量, 及其命名规则以及代码风格相关推荐

  1. C语言用户自定义标识符的命名规则,c语言中用户标识符的命名规则介绍

    c语言中用户标识符的命名规则介绍 发布时间:2020-06-24 15:55:31 来源:亿速云 阅读:116 作者:元一 这期内容当中的小编将会给大家带来有关c语言中用户标识符的命名规则介绍,以专业 ...

  2. Java中的变量名命名规则

    变量命名规则: 基本要求: 1,首字母:字母,下划线(_)或符号(不能含有空格,不能以数字开头)2,其他部分:数字,字母,下划线,符号(不能含有空格,不能以数字开头)2,其他部分:数字,字母,下划线, ...

  3. C语言中的关键字,变量的定义,变量的命名规则,交换两个变量的值,驼峰命名法【 C语言变量名命名法则】

    C语言结构 C语言中的关键字 变量 变量的定义 变量的命名规则 交换两个变量的值 驼峰命名法 C语言结构 上图中我们可以看到最外层是程序,内部是所有的构成,我们从最里面开始说明. 当我们用计算机语言来 ...

  4. c语言中分析变量名的组成规则,C语言变量的命名规则

    一般规则: [规则1-1]命名应当直观且可以拼读,可望文知意,便于记忆和阅读, 标识符最好采用英文单词或其组合,不允许使用拼音.程序中的英文单词一般不要太复杂,用词应当准确. [规则1-2]命名的长度 ...

  5. c语言中外部变量的使用方法,C语言外部变量的使用以及erxtern的用法

    网上有很多帖子问C语言中extern的用法,而且回答的详细程度各尽不同. 所以我就像写一篇博文来谈谈我对extern的看法,不一定十分恰当,只当大家共勉. 变量定义性声明和引用性声明 变量的声明有两种 ...

  6. r语言 分类变量 虚拟变量_R语言中的变量

    r语言 分类变量 虚拟变量 R语言| 变数 (R Language | Variables) In the previous tutorial, we have come across the bas ...

  7. 在c语言中 使用变量的要求,关于C语言中变量的探讨

    摘 要: 在所有的计算机高级语言中,都存在着变量这样一个重要的概念.变量是计算机高级语言程序的重要成分之一.与其他语言中的变量相比,C语言中的变量所包含的内容更为丰富,包括变量的定义.数据类型.变量数 ...

  8. Web前端第三季(JavaScript):三:第1章:JavaScript基本知识:107-js中变量的声明+108-js中变量的注意事项+109-js中变量的命名规则+110-赋值和算术运算符

    目录 一.目的 1.想:学习前端知识 2.想:记录笔记,下次不用看视频,直接看笔记就可以快速回忆. 二.参考 1.我自己代码的GitHub网址 2.SIKI学院:我参考此视频实操 3.w3school ...

  9. c语言中后缀字母如 d h b l i,10 C语言中常量的表示.ppt

    10 C语言中常量的表示 第9单元 C语言中常量的表示 数据可以用变量存放,也可以用常量形式表示.常量是程序不可修改的固定值,可以分字面常量和符号常量. 字面常数就是直接书写出来的常数,通常不被单独存 ...

  10. c语言变量名下表,C语言变量名命名规则

    一.程序风格: 1.严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行. 要求相匹配的大括号在同一列,对继行则要求再缩进4格.例如: 2.提示信息字 ...

最新文章

  1. 大数据调度平台Airflow(三):Airflow单机搭建
  2. python字典get计数_Python内部是如何存储GC引用变量的计数的?
  3. 【放置奇兵】英雄各属性介绍
  4. L1为什么具有稀疏性
  5. oracle的文件后缀名,转:数据文件的扩展名是ora,dbf,dat的,有什么区别?
  6. Oracle外键约束修改行为(一)
  7. AngularJS开发指南5:AngularJS表达式详解
  8. Oscache 概述
  9. python转str类型的列表为list格式
  10. 单行及多行文本溢出以省略号显示的方法总结
  11. 实例讲解朴素贝叶斯分类器
  12. win10计算机管理字体糊,完美解决:Win10系统字体模糊解决教程
  13. C语言小游戏(flappy bird),附带源码及素材
  14. erf和erfc函数
  15. 进军NFT,第三代公链GGC与NFT3.0技术平台BOBO、OKEx NFT深度联合
  16. Windows下自动同步工具SyncToy的使用与定时执行部署
  17. 统计推断——假设检验——线性回归——R的平方可以为负数
  18. 2018年上半年综合素质作文
  19. 虚拟机上搭建Ubuntu系统步骤
  20. 1.8w 字 | 初中级前端 JavaScript 自测清单 - 2

热门文章

  1. OpenGL 4.0 学习3.2--各种颜色的RGB值
  2. java 用户登录_java编写用户登录
  3. TwoPhaseCommitSinkFunction二阶段提交
  4. 排序算法——梳排序 Comb sort
  5. 为什么Jmeter 运行时时到达持续时间不停止?
  6. 【自动化测试selenium】
  7. python opencv合并图片
  8. 安装gentoo折腾
  9. 夜神模拟器-软件apk存放目录
  10. 震撼人心的爱·《山月不知心底事》·一