标识符

标识符是用来表示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. LoadRunner脚本增强技巧之手动关联

    个人认为LoadRunner的手动关联技巧可以看做参数化的一种,区别在与获取参数的来源不同. 一般的参数化:把脚本中一个写死的数值或者字符串用一个变量参数来代替,每次迭代的时候,从本地文件或者数据库中 ...

  2. Oracle 多表关联并且批量修改

      描述:A表有 id,or_id 字段,B表有 id,code 字段   A表有  or_id 与B表的  id 关联,现要将A.or_id 替换成  B.code 数据    UPDATE  AS ...

  3. 【题解】CF#713 E-Sonya Partymaker

    这题真的想了挺久的,然而到最后也还是没想到怎样处理环的情况……网上竟然也完全没有题解,无奈之下到 CF 的 AC 代码里面去找了一份膜拜了一下.感谢~ 由于觉得这题有一定的难度,自己看代码也看了比较久 ...

  4. http_load - 集成测试工具之

    http_load是基于linux平台的性能测试工具,它体积非常小,仅100KB.它以并行复用的方式运行,可以测试web服务器的吞吐量与负载. 1 官方地址  http://www.acme.com/ ...

  5. 【bzoj3170】[Tjoi2013]松鼠聚会

    3170: [Tjoi2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1670  Solved: 885[Submit][Statu ...

  6. android adb devices 后出现offline问题的解决

    Android在使用adb 命令时有时会发现设备的状态是offline,我的神呀,这怎么让我们调试呢.必须解决这个问题. 解决方式如下: 以下方法请确保你的设备处于调试模式下. 方法一:执行 #adb ...

  7. Google Cast和ChromeCast

    Google Cast类似于DLNA,AirPlayer,Miracast,就是一种投屏技术.我们ATV产品是对Google Cast和ChromeCast都是支持的. Google Cast 大致工 ...

  8. bzoj 2434 AC自动机+树状数组

    2434: [Noi2011]阿狸的打字机 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 3493  Solved: 1909[Submit][Sta ...

  9. Qt ------ 断开某对信号与槽的connect

    QMetaObject::Connection dis; dis = connect(this,&TcpSocket::readyRead,this,&TcpSocket::readD ...

  10. 【转】解决virt-manager启动管理器出错:unsupported format character

    来源:http://blog.csdn.net/z_yttt/article/details/71192144 经验证OK.   今天打开virt-manager出错,报错信息如下: 启动管理器出错: ...