作者有話說!
害,這幾天一直忙,是以沒更新,也沒啥人看,我隻好自己寫着自己看看
前一陣我是想釋出一個關于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
*/
}