作者有话说!
害,这几天一直忙,所以没更新,也没啥人看,我只好自己写着自己看看
前一阵我是想发布一个关于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
*/
}