zoukankan      html  css  js  c++  java
  • 表达式

    保留字

    25个保留关键字

    指针

    不能将内存地址与指针混为一谈

    内存地址是内存中每个字节单元的唯一编号,而指针则是一个实体,指针会分配内存空间,相当于一个专门用来保存地址的整型变量

    • 取址运算符 & 用于获取对象地址
    • 指针运算符 * 用于间接引用目标对象
    • 二级指针 **T,如包含包名则写成*package.T

    初始化

    对复合类型(数组,切片,字典,结构体)变量初始化时,有一些语法限制

    • 初始化表达式必须含类型标签
    • 多个成员初始值逗号分隔
    • 左花括号在类型尾部,不能另起一行
    package main
    
    import (
    	"fmt"
    )
    
    type data struct {
    	a int
    	b string
    }
    
    func main() {
    	s := data{
    		1,
    		"ab",
    	}
    	fmt.Println(s)
    }
    

      

    流程控制

    if...else...

    左花括号不能另起一行

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	var x int = 5
    	if x > 5 {
    		fmt.Println("a")
    	} else if x < 5 && x > 0 {
    		fmt.Println("b")
    	} else {
    		fmt.Println("c")
    	}
    }
    

      

    switch同样支持初始化语句,从上到下,从左到右顺序匹配case执行,只有全部匹配失败时,才会执行default块

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	switch x := 5; x {
    	default:          //编译器会保证不会先执行default
    		x += 100
    		fmt.Println(x)
    	case 5:
    		x += 50
    		fmt.Println(x)
    	}
    }
    

      

    无需执行break,case执行完毕后自动中断,如需贯通后继case,需执行fallthrough,但不再匹配后继条件表达式

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	switch x := 5; x {
    	default:
    		x += 100
    		fmt.Println(x)
    	case 5:
    		x += 50
    		fmt.Println(x) 
    		fallthrough  //不需要匹配条件了,直接执行下一case;必须放在case块结尾
    	case 6:
    		x += 100
    		fmt.Println(x)
    	}
    }
    

      

    输出 55 155

    for循环

    	for i :=0;i<3;i++{
    
    	}
    	for x < 10{
    		x++
    	}
    	for {
    		break
    	}
    

      

    for...range完成数据迭代,返回索引,键值数据

    func main() {
    	data := []string{"a", "b", "c"}
    	for k, v := range data {
    		fmt.Println(k, v)
    	}
    }
    

      

    goto,continue,break

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    	for i := 0; i < 4; i++ {
    		fmt.Println(i)
    
    		if i > 1 {
    			goto exit
    		}
    	}
    exit:
    	fmt.Println("exit")
    }
    

      

    break:用于switch、for、select语句,终止整个语句块执行

    continue:仅用于for循环,结束本次循环,进入下一次循环

    func main() {
    	for i := 0; i < 10; i++ {
    		if i%2 == 0 {
    			continue
    		}
    		if i > 5 {
    			break
    		}
    		fmt.Println(i)
    	}
    }
    

      

  • 相关阅读:
    『Python基础』第4节:基础数据类型初识
    『Python基础练习题』day02
    『Python基础』第1节 Windows环境下安装Python3.x
    Windows安装Mysql5.7.22
    jar 运行报错:找不到或无法加载主类
    linux 下的mysql 连接报错
    将本地Jar包安装到maven仓库中去
    Mysql 中的伪列用法
    Mysql 中的伪列用法1
    关于springboot中文件上传,properties配置
  • 原文地址:https://www.cnblogs.com/hongpeng0209/p/9200770.html
Copyright © 2011-2022 走看看