Go语言学习笔记(语法篇) - 基本数据类型、变量
2013-05-03 00:00
441 查看
基本数据类型
类型 大小 默认值bool 1bits false
int8 8bits 0
int16 16bits 0
int32 32bits 0
int64 64bits 0
float32 32bits 0
float64 64bits 0
string ""
byte,这个等同于int8,属于它的别名
int,没有显示的声明int是多少位的,那么它会根据平台来自行决定,如32位的系统int就是32位的,64位的系统int就是64位的。
变量声明
Go语言是强类型语言,但它的变量声明比较灵活。var 变量名 类型 = 值
var 变量名 = 值
变量名 := 值
如:
var a int = 1 var b = 2 c := 3 var a, b int = 1, 2 var c, d = 3, 4 e, f := 4, 5
在没有显示的声明类型的时候,Go语言编译器会根据赋的值进行类型推断,不过要注意一点,在声明了变量后、并没有使用这个变量的时候,编译会报错
e declared and not used。这点我也很不理解,为什么Go编译器要做这种校验,哪怕给一个警告也比这样要好吧,如果有谁知道这样的好处请告诉我一下,感谢。
如果不想让编译器对声明未使用的变量报错,可以使用_来代替,_为一个特殊的变量,任何赋给它的值都将被抛弃。
Go语言不支持不同类型间的隐式转换,如以下代码片断编译器会报出invalid operation: a + b (mismatched types int32 and int64)
var a int32 = 10 var b int64 = 20 c := a + b fmt.Println(c)
所以要想让不同类型间进行计算,需要进行强制转换
var a int32 = 10 var b int64 = 20 c := int64(a) + b fmt.Println(c)
const可以声明一个常量,也可以当做枚举来使用
const a int = 100 const b = 200 const ( APPLE = iota ORANGE = iota BANANA = iota )iota可以用来代表枚举值,从0开始,往下每次会+1,上面的APPLE = 0, ORANGE = 1, BANANA = 2。也可以只写一个iota,下面的都省略,效果与上面的一样。
const a int = 100 const b = 200 const ( APPLE = iota ORANGE BANANA )
相关文章推荐
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- Python笔记——基本语法:标识符、数据类型、变量、运算符及表达式/编码风格
- C++ 基本语法之变量(指针)与数据类型(占用字节大小)
- Chapter 3、Java语法基础(二)----Java基本数据类型、变量与常量 (20th,Feb)
- Java基本语法(二)Java的数据类型和变量
- (3)JavaScript基础(基本语法:变量与数据类型、类型转换、运算符、流程控制、函数、对象、自定义对象、原型)
- oracle PL/SQL的基本构成,块结构和基本语法要求,数据类型,变量定义,运算符和函数
- 01-javaScript基本语法、数据类型、变量
- LotusScript基本语法知识……变量和数据类型
- JAVA 基础语法(一)——变量以及基本数据类型
- java基础--1.基本语法 - 2.数据类型、常量变量
- 15-JavaScript-基本语法-变量-规则-数据类型
- JavaScript学习笔记一 - 基本语法,数据类型、变量
- Java基础语法(一)(标识符,关键字,注释,常量,变量,基本数据类型)
- Js基本语法、变量、数据类型
- PHP基本语法、变量、数据类型、运算符
- JAVA语法基础之变量和基本数据类型
- oracle PL/SQL的基本构成,块结构和基本语法要求,数据类型,变量定义,运算符和函数
- php基本语法和数据类型、变量销毁
- JAVA语法基础之变量和基本数据类型