1、变量
var num1 int
num1 = 30
var num2 int = 15
var name = "张飞"
sum := 100
var a,b,c int
a = 1
b =2
c=3
2、常量
const name string = "zf"
2.1、iota关键字:
const (
a =iota
b =iota
c =iota
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
打印出:0 1 2
2.2、枚举类:
const(
MALE=iota
FEMALE=iota
UNKNOWN=iota
)
fmt.Println(MALE)
fmt.Println(FEMALE)
fmt.Println(UNKNOWN)
打印出:0 1 2
3、基本数据类型
3.1//布尔
var b1 bool = true
fmt.Println(b1)
3.2、//整数
var i1 int8 = 111 //有符号
var i2 uint8 = 200 //无符号
fmt.Println(i1)
fmt.Println(i2)
3.3、//浮点
var f1 float32 =3.14
var f2 float64 =4.67
fmt.Println(f1)
fmt.Println(f2)
3.4、//字符串
var s1 string = "zf"
fmt.Println(s1)
4、运算符
4.1//运算符
a :=10
b :=3
fmt.Println(a+b)
fmt.Println(a/b)
fmt.Println(a*b)
fmt.Println(a-b)
4.2关系运算符
//关系运算符
c := 3
d := 5
fmt.Println(c>d)
fmt.Println(c<d)
fmt.Println(c>=d)
fmt.Println(c<=d)
4.3//逻辑运算符
//逻辑运算符
f1 :=true
f2 :=false
fmt.Println(f1&&f2)
fmt.Println(f1||f2)
5、判读条件
//if else
num := 16
if num > 22 {
fmt.Println("111")
} else if num > 10 {
fmt.Println("222")
}
6、map
var map1 map[int]string
if map1 == nil {
map1 = make(map[int]string)
}
map1[1] = "hello"
map1[2] = "w"
map1[3] = "c"
map1[4] = "a"
map1[5] = "d"
//循环
for k, v := range map1 {
fmt.Println(k, v)
}
7、字符串
//字符串
s1 := "abch"
s2 := "b"
//strings包
fmt.Println(strings.Contains(s1,"h"))
fmt.Println(s1, s2)
//字符串和基本类型之间的转换
//strconv包
s3 := "true"
b3,err := strconv.ParseBool(s3)
if err != nil{
fmt.Println(err)
return
}
fmt.Println(b3)
8、方法
//方法有返回值
func getSum(a int, b int) int {
sum := a + b
return sum
}
//方法有多个返回值
func getMulti() (int, float64, string) {
return 0, 0, "hello"
}
9、延迟关键字
func main() {
//defer延迟关键字 执行顺序:开始->结束->zf
fmt.Println("开始")
defer func1("zf")
fmt.Println("结束")
}
func func1(s string) {
fmt.Println(s)
}
10、匿名函数
//匿名方法
func(){
fmt.Println("匿名方法")
}()