GO学习:GO语言的关键字

GO语言的关键字:

	 	break        default      func         interface    select
	    case         defer        go           map          struct
	    chan         else         goto         package      switch
	    const        fallthrough  if           range        type
	    continue     for          import       return       var
if 、 else、 break 、 for continue
	for i := 0; i < 10; i++ {
		if i == 2 {
			continue
		}
		if i == 3 {
			break
		}
	}

if else 流程控制 , for循环 , break跳出当前循环, continue 跳出本次循环

swich 、case、 default
 n := 2
	switch n {
	case 1:
		fmt.Println("n = 1")
	case 2:
		fmt.Println("n = 2")
	default:
		fmt.Println(" n不等于1 也不等于2  ")
	}

流程控制 如case都没有执行 则执行 default

func
func method(){
	fmt.Println("我是一个无参无返回值的函数")
}

定义函数

interface
type person interface{
		work()
}

定义接口

defer
 	defer	fmt.Println("我后执行")
	fmt.Println("我先执行")

用于资源释放 添加了defer的语句 会最后执行 如果有多个则 先进后出

var
  var a int
  var b int = 3

定义常量

const
  const a int= 1
  const b = "我是一个常量"
  const(
		i = iota + 1
		ii
		iii
	)

定义常量 枚举

goto
	for i := 0; i < 10; i++ {
		if i == 2 {
			goto xx
		}
	}

xx:
	fmt.Println("跳转到这里")

流程控制 跳转到 label标签 不推荐使用

map
	//定义一个hash 未初始化
	var hash1 map[string]int
	
	//使用make 来初始化内存
	var hash2 = make(map[string]int, 5)

定义一个hash (字典) 关联数据类型

type 、 struct
type person  struct {
	name string
	age int
}

type person interface{
	engagement()
}

type定义类型, struct定义结构体 类似于 JAVA 的 pojo

chan
 	//为 nil  未初始化
 	var ch1 chan string

    //定义一个容量为0的管道
    var ch2 = make(chan string)

    //定义一个容量为10的管道
    var ch2 = make(chan string10)
 

管道 go语言的特点 可以理解为先进先出的消息队列

package 、 import
package main

import "fmt"

package定义包 import引入包

fallthrough
	n := 2
	switch n {
	case 1:
		fmt.Println("n = 1")
	case 2:
		fmt.Println("n = 2")
		fallthrough
	default:
		fmt.Println(" n不等于1 也不等于2  ")
	}

此时输出 “n=2” "n不等于1 也不等于2 " fallthrough关键字 会强制执行case成立后下面的语句

range
	//定义一个map
	var hash = make(map[int]int,10)
	//填充数据
	for i:=0 ;i < 10;i++{
		hash[i+i] = i
	}
	//range 遍历
	for k,v := range hash{
		fmt.Println(k,v)
	}

用于循环遍历 如果是map类型 可以直接得到 “key” 和 “value”, 如果是数组 得到是 “下标” 跟 “value”

return
func method(x, y int) (z int) {
	z = x + y
	return
}

用于从函数返回

select
select {
//如果 从chan中取到数据 则 :
case  <- chan:
	return 1
}

select {
//如果 向chan录入数据 则 :
case  chan <- 1:
	return 2
}

select用来监听与管道(channel)有关的操作, 它会不断地检测管道的输入输出

发布了8 篇原创文章 · 获赞 1 · 访问量 1045

猜你喜欢

转载自blog.csdn.net/ZHOUAXING/article/details/105005583