编写风格:
在Go语言中有几项规定,而且是强制的,当不匹配以下规定编译就会出错
1.每行语句结束不需要写;
2.大括号{不能换行放置,
3.if 判断和for循环不需要以小括号包裹起来
数据类型
Go按照类别有以下几种数据类型:
1.bool,一个字节,true or false,不能用0或者1表示
2.int/ uint
3.intx/ uintx : x代表任意位数,例如:int3,代表占3bit的int 类型
4.byte占用8位,一个字节,相当于uint8 ,不带符号
5.floatx:由于没有double类型,所以float64就是double,
6.complex64/complex128:复数类型
7.uintptr:保持指针用的类型
8.其他类型:array,struct,string
9.引用类型:slice,map,channel
10.接口类型:interface
11.函数类型 func
类型转换
在Go语言里没有隐式转换,遇到不同类型想互用,只能进行强制类型转换
Go语言类型转换基本格式:
type_name(expression)
type_name:数据类型
expression:原始数据或表达式
以下实例中将整型转化为浮点型,并计算结果,将结果赋值给浮点型变量:
package main
import “fmt”
func main() {
var sum int = 17
var count int = 5
var mean float32
mean = float32(sum)/float32(count) //强制转换
fmt.Printf(“mean 的值为: %f\n”,mean)
}
变量定义和初始化
变量命名原则:
Go语言变量名由字母,数字,下划线组成,其中首个字母不能为数字
但是字母不局限于英文字母,所有UTF-8字符都可以
声明和初始化方式:
1.使用var 关键字
如:var a int = 9
注意:::Go语言变量类型放在变量名后面
如果上面的代码段没有初始化值,那么变量就会被初始化为0值
如:
var i int;
这个代码片段声明了一个int类型i,并把i初始化为int 0值, 0
2.忽略类型
这种声明和初始化变量的方式相比于第一种,就是省去了变量的类型,Go语言编译器可以根据你的初始值自动判断类型。如:
var a = 5
这里的 a 被自动识别为int 类型
-
直接初始化
a: = 3 -
多变量声明
Go语言可以同时声明和初始化多个变量
具体语法如下:
var vname1,vname2,vname3 type
vname1,vname2,vname3 = v1,v2,v3
var vname1, vname2, vname3 = v1, v2, v3 //和python很像,不需要显示声明类型,自动推断
vname1, vname2, vname3 := v1, v2, v3 //出现在:=左侧的变量不应该是已经被声明过的,且只能在函数体内出现