天天看点

Go语言学习笔记,小白都能学会!(条件语句篇)

作者有话说!

害,这几天一直忙,所以没更新,也没啥人看,我只好自己写着自己看看

前一阵我是想发布一个关于Python爬虫的代码的,但是那个网站,CSDN客服部说严重色情,不能发,咳咳,那就算了,今天带来Go语言学习笔记,小白都能看懂那种!

直接开始上笔记。

package main

import (
	"fmt"
	"time"
)
var week time.Duration

func main() {
	// 2020-09-01 学习Go语言笔记
	// 获取当前时间
	t := time.Now()
	// 输出当前时间,用0000-00-00 00:00:00格式
	// %d是打印整形
	// %2d是打印最低两位数
	// %02d是打印最低两位数,如果不足两位数用0补全
	var titleName string = "测试语句"

	/* 判断语句 */
	/*
	结构方式:
		if 布尔表达式 {
			Coding...
			代码块
		}
	无需()括起来表达式
	 */
	/* 单个if判断 */
	if titleName == "测试语句" {
		fmt.Printf("%04d-%02d-%02d %02d:%02d:%02d", t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second())
	}

	/* ---------------------------------华丽的分割线--------------------------------- */

	/* if...else语句 */
	/*
	if语法:
	if 布尔表达式 {
		当布尔表达式为true时执行的代码
	}
	 */
	if titleName == "测试语句" {
		/* 在布尔表达式中为true */
		fmt.Print("这个结果为true")
	} else {
		/* 在布尔表达式中为false */
		fmt.Print("这个结果为false")
	}

	/* ---------------------------------华丽的分割线--------------------------------- */

	/* if嵌套语句 */
	if titleName == "测试语句" {
		// 判断过后在判断一次,这是嵌套
		if 1==1 {
			fmt.Print("这个1等于1")
		}
	} else {
		/* 在布尔表达式中为false */
		fmt.Print("这个结果为false")
	}
	/*
		总结:if语句就像裁判,如果给的表达式成立,就是会执行,例如1==1,他的结果是true,那么:
			if 1==1 {
				fmt.Print("Hello World")
			}
		就会打印Hello World
		---------------------------------华丽的分割线---------------------------------
		else的意思是否则的意思,如果:
			if 1!=1 {
				fmt.Print("Hello World")
			} else {
				fmt.Print("Oh, Error")
			}
		如果1不等于1时就会输出Oh Error
		---------------------------------华丽的分割线---------------------------------
		代码翻译:
			if 1==1 {
				fmt.Print("Hello World")
			} else {
				fmt.Print("Oh, Error")
			}
			如果1=1那么输出Hello World
			否则就输出Oh, Error
	*/

	/* ---------------------------------华丽的分割线--------------------------------- */

	/* switch语句 */
	/*
		介绍
		switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上至下逐一测试,直到匹配为止。
		switch 语句执行的过程从上至下,直到找到匹配项,匹配项后面也不需要再加 break。
		switch 默认情况下 case 最后自带 break 语句,匹配成功后就不会执行其他 case。
		switch语法:
			switch var1 {
				case val1:
					Coding...
				case val2:
					Coding...
				default:
					Coding...
			}
	 */
	/* 定义局部变量 */
	var Str string = "我是猪"
	switch Str {
		case "我是猪":
			fmt.Print("对,你是个猪!")
		default:
			fmt.Print("啊咧,你不是猪")
	}
	/*
	上面执行结果:
		对,你是个猪
	*/
	/* select语句 */
	/*
	介绍:
		select 是 Go 中的一个控制结构,类似于用于通信的 switch 语句。每个 case 必须是一个通信操作,要么是发送要么是接收。
		select 随机执行一个可运行的 case。如果没有 case 可运行,它将阻塞,直到有 case 可运行。一个默认的子句应该总是可运行的。
	语法:
		select {
			case communication clause  :
				statement(s);
			case communication clause  :
				statement(s);
			default :
				statement(s);
		}
	 */
	var c1, c2, c3 chan int
	var i1, i2 int
	select {
	case i1 = <-c1:
		fmt.Printf("received ", i1, " from c1\n")
	case c2 <- i2:
		fmt.Printf("sent ", i2, " to c2\n")
	case i3, ok := (<-c3):  // same as: i3, ok := <-c3
		if ok {
			fmt.Printf("received ", i3, " from c3\n")
		} else {
			fmt.Printf("c3 is closed\n")
		}
	default:
		fmt.Printf("no communication\n")
	}
	/*
	以上代码执行效果是:
		no communication
	 */
}