码迷,mamicode.com
首页 > 其他好文 > 详细

表达式

时间:2018-06-19 20:15:59      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:编译器   sel   func   进入   语句   amp   直接   键值   流程控制   

保留字

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)
	}
}

  

表达式

标签:编译器   sel   func   进入   语句   amp   直接   键值   流程控制   

原文地址:https://www.cnblogs.com/hongpeng0209/p/9200770.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!