博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go的常量与变量
阅读量:5891 次
发布时间:2019-06-19

本文共 1930 字,大约阅读时间需要 6 分钟。

一、常量

1.1 定义

常量使用关键字const 定义,用于存储不会变化的数据

定义方法 const identifier [type] = value

package main// 常量定义const P float64 = 3.14159// 简短而优雅的写法const(    CODE_STATUS = 100    START_NUM int = 1    START_NUM1   // 自动 延用上一行的数据值 1,)func main(){    }

1.2 常量定义的注意事项

1、常量名 最好大写,已区分于变量2、常量定义后是可以不使用的3、常量的定义可以不写 数据类型和变量一样,因为go编辑器会自动识别4、常量的数据必须是不可变的,也就是必须是确定下来的数据    不规范的列子:        const NUM int = getNum() // getNum 函数的不获取是不确定的,所以不行5、在一个const 内,如果一行没有赋值,则会默认赋值上一行的数据直至有值可以赋值

1.3 关于iota 的使用

用法 const identifier = iota

iota 就是int 类型

package mainconst(    A int = iota  // 0    B             // 1    C             // 2)const(    D = iota     // 0    E ="jmz"     // jmz    F            // jmz    G = iota     // 3    H = iota * 2 // 8    I            // 10    J = iota     // 6    K            // 7)func main(){}

1.4 iota 的讲解

1、iota 每一次开始值 都为02、iota 每遇到const ,都会从0开始3、iota 在一个const内是每一行都会自动+1

二、变量

2.1 变量声明

var identifiter [type]

  • 第一种 声明后再赋值
var v_name v_type    v_name = value
  • 第二种 声明的过程中赋值
var v_name v_type = value
  • 第三种 简单声明
v_name := value
  • 第四种 优雅的声明方式
var (    v_name1 v_type = value    v_name2 = value2    v_name3 v_type3)

2.2 多变量声明

var vname1,vname2,vname3 int = 1,2,3  // 多变量声明指明了类型所以后面都必须是该类型var v1,v2,v3 = 23,"aaa","obj" // 多变量声明,没有指明类型,go编辑器会自动添加变量类型的a1,a2,a3,a4 := 1,2,"3",'3' 多变量简短声明

2.3 声明与赋值

1、关于值类型变量的声明,go编辑器会自动赋予该变量初始值       int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil,引用类型变量为nil       记住所有的内存在 Go 中都是经过初始化的。2、变量尽量遵循驼峰命名法    如:userName,startDate3、变量声明后不能再次声明,否则会报错    简短声明中 只要有一个未声明,就不会报错        如:            num := 0            num,ok := iName.(int) // 这是断言,返回两个值

三、值类型与引用类型

在go 中有两个数据类型 值类型和引用类型,我数据类型中,具体讲解&变量 可以获取变量的地址    如:        num := 12        println(&num)值类型:    1、变量 直接指向 内存中的值    2、将一个变量 赋值给 另一个变量,实际是对内存中的值进行了拷贝    3、值类型的变量的值存储在栈中引用类型:    1、引用类型的变量存储的是内存值所在的地址(数字),内存地址中第一个字所在的位置    2、将一个引用类型变量 赋值给 另一个引用类型变量,实际只是引用(地址)的复制     那些事值类型,那些事引用类型,请看下一章

如果喜欢看小说,请到

转载于:https://www.cnblogs.com/xiaobaiskill/p/10580050.html

你可能感兴趣的文章
Git使用详细教程
查看>>
linux 查看进程使用(打开)的文件
查看>>
Java基础学习总结(9)——this关键字
查看>>
提取用户下的所有表的表结构
查看>>
[IOI2018]组合动作——构造
查看>>
BZOJ1430小猴打架——prufer序列
查看>>
浅谈IT路的职业规划
查看>>
Webtoos 仿Q+云桌面框架
查看>>
Liunx查找命令解析与分析
查看>>
10条命令,1分钟时间检查Linux服务器性能
查看>>
python一个发邮件的函数
查看>>
mailto用法
查看>>
编程如何入门(创世纪新篇)
查看>>
EIGRP产生默认路由的方法
查看>>
php转义和正则问题
查看>>
Spring源码阅读--@Autowired注解自动装配
查看>>
Integrating Perl REST service with jQuery and a da
查看>>
给普通用户像ROOT用户一样权限!
查看>>
【MySQL】【安全】探讨MySQL备份所需最小权限
查看>>
各项异性过滤
查看>>