标识符

标识符是用来表示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标识符、变量、常量的更多相关文章

  1. GO中标识符,标识符,变量,常量,iota

    参考:https://www.cnblogs.com/nickchen121/p/11517455.html 一.标识符与关键字 1.标识符 在编程语言中标识符就是程序员定义的具有特殊意义的词,比如变 ...

  2. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  3. Java复习3.变量.常量.String.

    Java 中的变量常量数据类型 20131004 前言: 还是国庆节,无聊的很,就没事复习点Java的知识,其实C/C++基本上是现在大型企业面试的语言,但是多学习点Java是没有坏处的,而且,将来工 ...

  4. javaSE基础之变量,常量,作用域和运算符

    变量 变量是什么? 变量是可以变化得量 Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=v ...

  5. Java变量, 常量和作用域

    目录 变量 作用域 局部变量 实例变量 类变量 常量 命名规范 视频课程 变量 变量就是可以变化的量 Java是一种强类型的语言, 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元, 其 ...

  6. iOS开发Swift篇(01) 变量&常量&元组

    iOS开发Swift篇(01) 变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对于14年 ...

  7. C#基础总结之一变量常量-if嵌套语句-witch结构-类型转换

    //Console.WriteLine("Hello World"); //打印显示 //Console.ReadLine(); //接收输入的值 //Console.ReadKe ...

  8. 李洪强iOS开发Swift篇---11_变量&常量&元组

    李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...

  9. PHP 获得当前页面所有变量常量的值

    get_defined_vars() - 返回由所有已定义变量所组成的数组,这个函数在二次开发的时候用起来非常给力: get_defined_constants();可以返回当前的所有常量 zend的 ...

  10. TF:Tensorflow定义变量+常量,实现输出计数功能—Jason niu

    #TF:Tensorflow定义变量+常量,实现输出计数功能 import tensorflow as tf state = tf.Variable(0, name='Parameter_name_c ...

随机推荐

  1. 【Linux笔记】CentOS yum 安装 vsftpd

    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用,下面直接上干货. 一.安装vsftp 以管理员的身份使用yum命令安装vsftp: [root@localh ...

  2. POJ2374_Fence Obstacle Course

    题意是描述是这样的,给你n个围栏,对于每个围栏你必须走到其边上才可以往下跳,现在问你从初始最高位置的n个围栏,到原点,水平走过的路程最少是多少? 其实我可可以这样来考虑问题.由于每次都是从板子的左右两 ...

  3. elsarticle模板 去掉Preprint submitted to

    参考:http://latex.org/forum/viewtopic.php?t=11123 修改elsarticle.cls文件. 我的CTeX装在c盘中,elsarticle.cls文件路径为: ...

  4. 【Java】数据库查询的数据直接以指定文件类型下载到本地(弹出下载框)

    欲实现的功能目标:当点击下图的导出数据文件时弹出文件下载框,默认csv格式,用户自定义下载的本地路径 遇到的问题: 1.项目之前做过一次下载,但是是使用了本地文件模板.用输入流读取文件模板,插入数据, ...

  5. Day 2 笔记 数据结构

    Day 2 笔记 数据结构 1.栈.队列.链表等数据结构都是线性数据结构 2.树状数据结构:二叉堆,线段树,树状数组,并查集,st表... 优先队列其实与二叉堆的存储方式并不相同. 一.二叉堆 1.二 ...

  6. P4622 [COCI2012-2013#6] JEDAN

    题目背景 COCI 题目描述 有N个数排成一行(数值代表高度),最初所有的数都为零,你可以选择连续的一段等高的数,将它们都增加1(除了开头和结尾那个数)如下图表示了两次操作: 现在有一些数字看不清了, ...

  7. 关于kali linux系统的简单工具

    Linux系统中关于几个重要目录的原英文解释: /etc/: Contains configuration files of the installed tools /opt/: Contains M ...

  8. DotNet,PHP,Java的数据库连接代码大全(带演示代码)

    C#数据库连接字符串 Web.config文件 <connectionStrings> <!--SQLServer数据库连接--> <add name="con ...

  9. 【bzoj4559】成绩比较

    Portal -->bzoj4559 补档计划 ​  借这题补个档--拉格朗日插值 ​​  插值的话大概就是有一个\(n-1\)次多项式\(A(x)\),你只知道它在\(n\)处的点值,分别是\ ...

  10. Ubuntu下Sublime Text 2优化配置

    以前经常用Notepad++,最近因为需要长期在Linux环境下进行C开发,就使用了sublime Text 2,这里就不介绍基本的了主要针对我使用的经验中进行一些总结. 1.pacage contr ...