golang常用代碼塊

1.打印

fmt.Println("asd")

2.字符串與int互轉(zhuǎn)

strconv.Itoa(1) 轉(zhuǎn)字符串
strconv.Atoi("1")轉(zhuǎn)int

3.格式化日期

time.Now().Format("20060102150405")

4.睡眠

time.Sleep(time.Duration(waitTime)*time.Second)

5.隨機(jī)數(shù)

"math/rand"
r := rand.New(rand.NewSource(time.Now().UnixNano()))
r.Intn(100) //0-100隨機(jī)數(shù)

6.tcp連接

"net"
...
        conn, err := net.Dial("tcp", "ipport")
        if err != nil {
            fmt.Println("連接服務(wù)端失敗:", err.Error())
            return
        }
        fmt.Println("已連接服務(wù)器")
        defer conn.Close()
        Client(conn,tcpData)
...
func Client(conn net.Conn,sms string) {
    fmt.Println("要發(fā)送的消息:"+sms)
    conn.Write([]byte(sms))
    buf := make([]byte, 2)
    c, err := conn.Read(buf)
    if err != nil {
        fmt.Println("讀取服務(wù)器數(shù)據(jù)異常:", err.Error())
    }
    fmt.Println("服務(wù)器返回:"+string(buf[0:c]))

}

7.字符串分割

"strings"
...
strings.FieldsFunc(TOPIC["data"], split)
...

func split(s rune) bool {
    if s == ',' {
        return true
    }
    return false
}

8.字符串包含

"strings"
...
 fmt.Println(strings.Contains("seafood", "foo")) //true 

9.路徑

wd,err := os.Getwd()

這是定位到源碼的project級別,編譯完成后也是執(zhí)行腳本所在目錄
這也是相對路徑的位置

10.多goroutine間通信,channel使用

package main

import (
    "fmt"
    "time"
)
func Producer (queue chan<- int){//往channel里寫入數(shù)據(jù)時觸發(fā)
    for i:= 0; i < 10; i++ {
        queue <- i//寫入
        fmt.Println("create:", i)
    }
}
func Consumer( queue <-chan int){//channel里讀到數(shù)據(jù)時觸發(fā)
    for i :=0; i < 10; i++{
        v := <- queue//寫出
        fmt.Println("receive:", v)
    }
}
func main(){
    queue := make(chan int, 88)
    go Producer(queue)
    go Consumer(queue)
    time.Sleep(1e9) //讓Producer與Consumer完成
}

11.捕獲異常退出,殺進(jìn)程或者ctrl+c

        timeStart := time.Now()
    c := make(chan os.Signal, 1)
    signal.Notify(c, os.Interrupt, os.Kill)

    s := <-c
    timeEnd:=time.Now().Sub(timeStart)
    fmt.Println("耗時:", timeEnd.Seconds())
        fmt.Println("Got signal:", s)//interrupt
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,694評論 19 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,285評論 6 342
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,810評論 9 468
  • 回家的時間過的總是這么快,明天又該回去了還有點舍不得呀。又要獨自面對一切咯,明天要去搞定跳舞的事啦,想想都多激動的...
    崴崴閱讀 268評論 0 0
  • 青春,你最美 就像那剛升起的太陽 又像那流動的泉水 就像那冰山上的雪蓮 又像芙蓉剛吐蕾 就像那三月的桃花 又像那傲...
    海闊太空閱讀 224評論 1 5

友情鏈接更多精彩內(nèi)容