go基本数据类型
1.bool,一个字节,值是true或者false,不可以用0或者1表示(java中boolean占用4个字节,而boolean作为数组出现时,每个boolean占用1个字节)
2.int/uint(带符号为与不带符号位的int类型):根据平台不同是32位或者64位
3.intx/uintx:x代表任意位数,例如:int3,代表占3bit的int类型
4.byte占用8位,一个字节,相当于uint8,不带符号位
5.floatx:由于没有double类型,所以float64就是double。float32小数精确到7位,float64小数精确到15位。
6.complex64/complex128:复数类型
7.uintptr:保存指针用的类型,也是随着平台改变而改变,因为指针的长度就是随平台而变。
8.其他类型值:array,struct,string
9.引用类型:slice,map,chan
10.接口类型:interface
11.函数类型:func
类型零值
零值不等于空值,是说当变量被声明为某种类型后的默认值。
一般情况下,值类型默认为0,bool默认为false,string为空串。
变量声明与赋值
示例:
package main
import (
"fmt"
"../wang"
)
var (
aa = 1
bb = 2
cc = 3
)
const (
a1 = 1
a2 = 2
a3 = 3
)
type (
w1 int
w2 int
w3 string
)
func main() {
var aaa w3 = "haha"
var bbb w3
bbb = "wawawa"
wang.Wang1()
fmt.Println("Hello World!" + bbb + "" + aaa)
}
- import,var,const,type,定义多个时,可以用括号简写。也可以使用并行方式,局部变量只能使用并行方式。
- import里面的包名是相对于此go文件的路径为起始点。上面的../wang就是证明,代表的是物理路径,并不是每个文件上面写的package。那个pkg名是引用包里内容是前缀,例如:wang.Wang1()。
- const声明常量必须要接着赋值。
- type表示定义类型名,就像数据库里面的差不多。这里定义了w1,w2,w3分别让他们代表int,int,string。算是这三种原始类型的别名,那么在后面就要写这些别名了。并且不能省略写。
- 局部变量定义时不能采用全局变量这种大括号形式,采用并行方式。
- 定义与变量声明时:var a int =10;var a=10;a:=10——->第一种是标准写法,第二,三种表示定义并赋值,编译器根据赋值判断是哪一种类型。第三种这种简略写法不能定义全局变量,编译器会报错。
- go语言中私有变量,常量,函数等,打头字母是小写,公有的打头字母大写。
- 只有main包中有main函数,main函数不能有返回值,main小写。
- 定义的局部变量,引入的包必须要用,如果不用,编译报错。
并行方式: var a,b,c,d [int] = 1,2,3,4;
特殊的:var a,,c,d = 1,2,3,4—-> 代表空白符,相当于占位置,因此,2这个值就轮空了。实际意义在函数中会体现。
有疑问加站长微信联系(非本文作者)