go标识符、变量、常量
标识符
标识符是用来表示Go中的变量名或者函数名,以字母或_开头。后可跟着字母、数字、 _
关键字
关键字是Go语言预先定义好的,有特殊含义的标识符。
变量
1. 语法:var identifier type
举例1:
var a int
var b string
var c bool
var d int =
var e string = “hello”
举例二
var (
a int //0
b string //“”
c bool //false
d int = // 8
e string = “hello” //hello
)
举例 三
package main import (
"fmt"
) func main(){
// 方式一
/*
var a int
var b string
var c bool
var d float32
*/ // 方式二 var(
a int
b string
c bool
d float32
) fmt.Printf("a=%d b=%s c=%t d=%f\n", a, b, c, d) a =
b = "ctz"
c = true
d = 10.36 fmt.Printf("a=%d b=%s c=%t d=%f", a, b, c, d)
}
常量
1. 常量使用const 修饰,代表永远是只读的,不能修改。常量定义时必须给定值
2. 语法:const identifier [type] = value,其中type可以省略。
举例一
const b string = “hello world”
const b = “hello world”
const Pi = 3.1414926
const a =
举例二(比较优雅的写法)
const(
a =
b =
c =
)
举例三(比较专业的写法)
const (
a = iota
b
c
) const(
a = << iota
b
c
)
举例四
package main import "fmt" func main(){
/*
常量 定义时一定要给定值 不给值 报错
常量一旦定义 不可修改
*/ // 方式一
// const a int = 10
// const b = "str" // 方式二
const(
a int =
b = "str"
) fmt.Printf("a=%d b=%s\n", a , b) // 下面这种写法如果后面不给定值 则后面常量的值 和前面的一样
const (
c int =
d
e =
f
) fmt.Printf("c=%d d=%d e=%d f=%d \n", c, d, e, f)
//=200 d=200 e=300 f=300 // iota 开始为0 依次向下递增1
const(
a1 = iota
a2
a3
a4
) fmt.Printf("a1=%d a2=%d a3=%d a4=%d \n", a1, a2, a3, a4)
// a1=0 a2=1 a3=2 a4=3 const(
b1 = iota
b2 = iota
b3 = iota
b4 = iota
)
fmt.Printf("b1=%d b2=%d b3=%d b4=%d \n", b1, b2, b3, b4)
// b1=0 b2=1 b3=2 b4=3 const(
c1 = << iota
c2
c3
c4
)
fmt.Printf("c1=%d c2=%d c3=%d c4=%d \n", c1, c2, c3, c4)
//c1=1 c2=2 c3=4 c4=8
const(
d1 = << iota
d2 = << iota
d3 = << iota
d4 = << iota
)
fmt.Printf("d1=%d d2=%d d3=%d d4=%d \n", d1, d2, d3, d4)
//d1=1 d2=2 d3=4 d4=8
}
常量 练习
package main import "fmt" const (
a = iota
b
c
d
e =
f
g = iota
h
k
) const (
A = iota
B
C
) func main(){
fmt.Printf("a= %d\n", a)
fmt.Printf("b= %d\n", b)
fmt.Printf("c= %d\n", c)
fmt.Printf("d= %d\n", d)
fmt.Printf("e= %d\n", e)
fmt.Printf("f= %d\n", f)
fmt.Printf("g= %d\n", f)
fmt.Printf("h= %d\n", h)
fmt.Printf("k= %d\n", k)
fmt.Printf("A= %d\n", A)
fmt.Printf("B= %d\n", B)
fmt.Printf("C= %d\n", C)
}
/*
a= 0
b= 1
c= 2
d= 3
e= 8
f= 8
g= 8
h= 7
k= 8
A= 0
B= 1
C= 2
*/ /*
const() 中 如果 定义了 常量 不给定默认值 那么 该常量的表达式 和 其上一个 表达式是相同的
iota 在const 中 没经过一层 自增1
*/
go标识符、变量、常量的更多相关文章
- GO中标识符,标识符,变量,常量,iota
参考:https://www.cnblogs.com/nickchen121/p/11517455.html 一.标识符与关键字 1.标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变 ...
- JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算
JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...
- Java复习3.变量.常量.String.
Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工 ...
- javaSE基础之变量,常量,作用域和运算符
变量 变量是什么? 变量是可以变化得量 Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=v ...
- Java变量, 常量和作用域
目录 变量 作用域 局部变量 实例变量 类变量 常量 命名规范 视频课程 变量 变量就是可以变化的量 Java是一种强类型的语言, 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元, 其 ...
- iOS开发Swift篇(01) 变量&常量&元组
iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对于14年 ...
- C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换
//Console.WriteLine("Hello World"); //打印显示 //Console.ReadLine(); //接收输入的值 //Console.ReadKe ...
- 李洪强iOS开发Swift篇---11_变量&常量&元组
李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...
- PHP 获得当前页面所有变量常量的值
get_defined_vars() - 返回由所有已定义变量所组成的数组,这个函数在二次开发的时候用起来非常给力: get_defined_constants();可以返回当前的所有常量 zend的 ...
- TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu
#TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...
随机推荐
- (转自大富翁)LockType 属性
指示编辑过程中对记录使用的锁定类型. 设置和返回值 设置或返回以下某个 LockTypeEnum 的值. 常量 说明 adLockReadOnly 默认值,只读.无法更改数据. adLockPessi ...
- 【Quartz.Net】.net 下使用Quartz.Net
Quartz.net是作业调度框架 1. 项目中添加quartz.net的引用(这里使用nuget管理) 新建一个类TimingJob,该类主要用于实现任务逻辑 using Quartz; usi ...
- BZOJ4999 This Problem Is Too Simple!(树上差分+dfs序+树状数组)
对每个权值分别考虑.则只有单点加路径求和的操作.树上差分转化为求到根的路径和,子树加即可.再差分后bit即可.注意树上差分中根的父亲是0,已经忘了是第几次因为这个挂了. #include<ios ...
- Connections between cities HDU - 2874(最短路树 lca )
题意: 给出n个点m条边的图,c次询问 求询问中两个点间的最短距离. 解析: Floyd会T,所以用到了最短路树..具体思想为: 设k为u和v的最近公共祖先 d[i] 为祖结点到i的最短距离 则di ...
- [CF1111E]Tree
题目大意:给一棵$n(n\leqslant10^5)$个点的树,有$q(q\leqslant10^5)$次询问,每次询问给出$k,m,r$表示把以下$k$个点分成不超过$m$组,使得在以$r$为根的情 ...
- Redis学习笔记一:Redis安装
Redis安装 1.下载进入redis官网下载redis-xxx.tar.gz包 2.将redis-xxx.tar.gz拷贝到Linux某一目录下并对其进行解压 tar -zxvf Redis-xxx ...
- 【BZOJ2756】奇怪的游戏(二分,网络流)
[BZOJ2756]奇怪的游戏(二分,网络流) 题面 BZOJ Description Blinker最近喜欢上一个奇怪的游戏. 这个游戏在一个 N*M 的棋盘上玩,每个格子有一个数.每次 Blink ...
- day4-python基础
- Centos7.3 安装 OpenCV3.3.0
一开始会出现这个错误: CMake Error at CMakeLists.txt: (message): FATAL: In-source builds are not allowed. You s ...
- vue-router的新奇写法
加班中........................... 我们以前写路由是下面这样的 这导致了页面一多,我们的路由文件内容就比较多,不好看. 下面我为大家介绍一下,新的一种写法 这种写法,我们只需 ...