设为首页 加入收藏

TOP

Golang学习笔记3——常量与运算符
2017-10-23 06:06:44 】 浏览:333
Tags:Golang 学习 笔记 常量 运算

1.常量的定义

  • 常量的值在编译时就已经确认

  • 常量的定义格式与变量基本相同

  • 等号右侧必须是常量或者常量表达式

  • 常量表达式中的函数必须是内置函数

//定义单个常量
const a int = 1
const b = "A"
const (
    text = "123"
    length = len(text)
    num = b * 20
)
//同时定义多个变量
const i, j, k = 1, "2", "3"
const (
    text2 ,length2, num2 = "456", len(text2),  k* 10
)

2.常量的初始化规则

  • 在定义常量组时,如果不提供初始值,则表示使用上行的表达式
 var a = 1
 const (
    b  = a
    //此时报错,因为全局变量在编译时不能确定值,常量必须是编译时能确定值的或使用内置函数获得的值(eg:len())
 )
 
 const (
    a = "A"
    b
    c
    //此时 a,b,c都为"A"
 )
 
 const (
    a, b = 1, "A"
    c, d
    //a,c为1,b,d为"A"。此时注意下行的常量个数必须与上行数量保持一致
 )

3.常量的枚举

  • 使用相同的表达式不代表具有相同的值

  • iota是常量的计数器,从0开始,组中每定义1个常量自动递增1

  • 通过初始化规则与iota可以达到枚举的效果

  • 每遇到一个const关键字,iota就会重置为0

const (
    a = "A"
    b
    c = iota
    d        //d的值为3,因为在常量组中,定义了4个变量所以iota计数器从0开始计数4次,所以为3
)

4.运算符

//优先级从高到低 
 *  /  %  <<  >>  &  &^
 =  -  |  ^    
 ==  !=  <  <=  >= >
 &&
 ||

例子:

/*
 6的二进制:0110 第一个
10的二进制:1011 第二个
---------
& 0010 = 2 (两个都是1才为1)
| 1111 = 15 (一个是1就是1)
^ 1101 = 13 (两个只有一个是1才是1)
$^ 0100 = 4 (第二个为1则是0,否则与第一位相同)
*/
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Golang学习笔记4——控制语句 下一篇golang单例模式

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目