zhiye_wang

向星空仰望的越深,越发现自己的渺小

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  31 随笔 :: 1 文章 :: 2 评论 :: 0 Trackbacks

Go 语言教程笔记(二)

一 Go 语言常量

常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。

常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还

有枚举常量。常量是一样,只是它们的值不能自己定义后进行修改常规变量处理。

整形常量

一个整数文字也可以有一个后缀为U和L的组合,分别为无符号和长整型。后缀可以是大写或小

写,并且可以以任意顺序。可以是十进制,八进制,或十六进制常数。前缀指定基或基数:0x

或 0X 的十六进制,0 表示八进制,并没有十进制。

整数常量的一些例子:

212         /* Legal */

215u        /* Legal */

0xFeeL      /* Legal */

078         /* Illegal: 8 is not an octal digit */

032UU       /* Illegal: cannot repeat a suffix */

不同类型的整型常量的例子:

85         /* decimal */

0213       /* octal */

0x4b       /* hexadecimal */

30         /* int */

30u        /* unsigned int */

30l        /* long */

30ul       /* unsigned long */

浮点文本(常量)

浮点字面具有一个整数部分,一个小数点,一个小数部分,和一个指数部分。你可以表示十进

制形式或指数形式浮点文字。同时采用十进制形式表示,则必须包括小数点,指数,或两者并

用而指数形式表示,则必须包括整数部分,小数部分,或者两者兼而有之。有符号的指数,通

过e或E表示。

下面是浮点面值的一些例子:

3.14159       /* Legal */

314159E-5L    /* Legal */

510E          /* Illegal: incomplete exponent */

210f          /* Illegal: no decimal or exponent */

.e55          /* Illegal: missing integer or fraction */

字符串文字

字符串文字或常量用双引号“”。一个字符串包含类似于字符文字字符:普通字符,转义序列

和通用字符。可以使用字符串和分隔使用空格打破一个长行成多行。

"hello, dear"

"hello, 

dear"

"hello, " "d" "ear"

const 关键字

package main

import "fmt"

func main() {

   const LENGTH int = 10

   const WIDTH int = 5   

   var area int

   area = LENGTH * WIDTH

   fmt.Printf("value of area : %d", area)   

}

习惯大写定义常量是一个良好的编程习惯。

二 Go 语言运算符

Go语言有丰富的内置运算符和运算符:

算术运算符

关系运算符

逻辑运算符

位运算符

赋值运算符

其它运算符


算术运算符

运算符描述示例
+两个操作数相加A + B = 30
-第一个操作数减第二操作数A - B = -10
*两个操作数相乘A * B = 200
/通过去分子除以分母B / A = 2
%模运算和整数除法后的余数B % A = 0
++运算符递增整数值增加一A++ = 11
--运算符递减整数值减一A-- = 9

关系运算符

运算符描述示例
==检查两个操作数的值是否相等,如果是的话那么条件为真。(A == B) 不为 true.
!=检查两个操作数的值是否相等,如果值不相等,则条件变为真。(A != B) 为true.
>检查左边的操作数的值是否大于右操作数的值,如果是的话那么条件为真。(A > B) 不为 true.
<检查左边的操作数的值是否小于右操作数的值,如果是的话那么条件为真。(A < B) 为 true.
>=检查左边的操作数的值是否大于或等于右操作数的值,如果是的话那么条件为真。(A >= B) 不为 true.
<=检查左边的操作数的值是否小于或等于右操作数的值,如果是的话那么条件为真。(A <= B) 为 true

逻辑运算符

&&所谓逻辑与运算符。如果两个操作数都非零,则条件变为真。(A && B) 为 false.
||所谓的逻辑或操作。如果任何两个操作数是非零,则条件变为真。(A || B) 为 true.
!所谓逻辑非运算符。使用反转操作数的逻辑状态。如果条件为真,那么逻辑非操后结果为假。!(A && B) 为 true.

位运算符

pqp & qp | qp ^ q
00000
01011
11110
10011

假设,如果A =60;且b =13;现在以二进制格式它们如下:

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A  = 1100 0011

C语言支持位运算符列在如下表。假设变量A=60和变量B=13,则

其它运算符

还有其他一些重要的运算符,包括sizeof和?:在Go语言中也支持。

Go语言运算符优先级

分类 运算符 关联 
后缀() [] -> . ++ - -  从左到右
一元+ - ! ~ ++ - - (type)* & sizeof 从右到左
乘法* / % 从左到右
相加  + - 从左到右 
移动<< >> 从左到右
关系< <= > >= 从左到右
相等== != 从左到右
按位与从左到右
按位异或从左到右
按位或 从左到右
逻辑与 && 从左到右
逻辑或 || 从左到右
条件 ?: 从左到右
赋值= += -= *= /= %=>>= <<= &= ^= |= 从右到左
逗号 从左到右
posted on 2016-03-28 16:17 zhiye_wang 阅读(298) 评论(0)  编辑 收藏 引用 所属分类: docker

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理