前言
为了快速入门 这里我不在细致的讨论每一种数据类型,之后会出相应的章节来详细介绍 短 快 躲坑 才是这个教程的宗旨
参照 Go语言圣经-The Go Programming Language
Go中的数据类型
Unix 一切皆文件
C++/Java/Python 一切皆对象
Golang 一切皆类型
- 值类型:基本数据类型int, float,bool, string以及数组和struct
- 引用类型:指针,slice,map,chan等都是引用类型
所有的参数传递都是值拷贝。对于值类型只是值的拷贝修改不会影响原来的值,引用类型的意义在于类型内部带有指针,值拷贝也会拷贝指针过去,所以一处修改处处可见
细分
- 布尔型(bool): 值只可以是常量 true 或者 false。
- 数字类型: 整型 int 和浮点型 float,支持复数(业务代码用不到),其中位的运算采用补码。
- 字符串类型(string): 使用UTF-8编码标识Unicode文本。
- 其他:指针、数组、结构体(struct)、联合体 (union不常用)、函数、切片、接口(interface)、Map 、 Channel
Go语言声明方式
var、const、type和func,分别对应变量、常量、类型和函数实体对象的声明,这里先着重了解变量声明
第一种声明方式 var
## 结构为var+变量名+类型 这个和java是反过来了的,包括函数声明也是
var name string
//根据赋值自动判断类型
var p = name
var i = 1
var flag = true
//类型不同的多个变量,难看的要死
var (
k int
l string
)
//这样好看
var m, n, o = "a", 1, true
第二种声明方式 := (声明+赋值)
//直接声明并赋值(必须是初次声明才有冒号)
p2 := "as"
// 多个变量一次性声明并赋值
h, i, j := 1, 2, 3
值得注意的是:自增和自减是语句,而不是表达式,因 此 x=i++ 之类的表达式是错误的
v := 1
v++ //等价方式 v = v + 1;v变成2
v-- //等价方式 v = v - 1;v变成1
## 上面大家可以很清晰的看到 v++ 是个语句 不可以拿来赋值
完了,没错我就是这么短
------最聪明的欺诈者会告诉你十句真相和一个致命谎言,菜鸟才会谎话连篇。