美文网首页go
golang常用代码块

golang常用代码块

作者: 球球之家 | 来源:发表于2017-07-23 11:04 被阅读98次

1.打印

fmt.Println("asd")

2.字符串与int互转

strconv.Itoa(1) 转字符串
strconv.Atoi("1")转int

3.格式化日期

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

4.睡眠

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

5.随机数

"math/rand"
r := rand.New(rand.NewSource(time.Now().UnixNano()))
r.Intn(100) //0-100随机数

6.tcp连接

"net"
...
        conn, err := net.Dial("tcp", "ipport")
        if err != nil {
            fmt.Println("连接服务端失败:", err.Error())
            return
        }
        fmt.Println("已连接服务器")
        defer conn.Close()
        Client(conn,tcpData)
...
func Client(conn net.Conn,sms string) {
    fmt.Println("要发送的消息:"+sms)
    conn.Write([]byte(sms))
    buf := make([]byte, 2)
    c, err := conn.Read(buf)
    if err != nil {
        fmt.Println("读取服务器数据异常:", err.Error())
    }
    fmt.Println("服务器返回:"+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级别,编译完成后也是执行脚本所在目录
这也是相对路径的位置

10.多goroutine间通信,channel使用

package main

import (
    "fmt"
    "time"
)
func Producer (queue chan<- int){//往channel里写入数据时触发
    for i:= 0; i < 10; i++ {
        queue <- i//写入
        fmt.Println("create:", i)
    }
}
func Consumer( queue <-chan int){//channel里读到数据时触发
    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.捕获异常退出,杀进程或者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

相关文章

  • golang常用代码块

    1.打印 2.字符串与int互转 3.格式化日期 4.睡眠 5.随机数 6.tcp连接 7.字符串分割 8.字符串...

  • uni-app常用代码

    常用代码快 页面代码块

  • 常用代码块

    1: 文字超出显示省略号 1)如果容器有固定宽度 2)如果容器没有固定的宽度 2: 去除按钮边框 3: 自定义To...

  • iOS 自定义代码块

    常用的代码块 怎么定义代码块 各个属性代表意义

  • xcode 常用代码块

    在Xcode10正式发布之后,喜欢使用代码块的小伙伴会发现,原先位于编辑器右下角的代码块标识被放到上面了,点击 {...

  • Xcode常用代码块

    代码块路径 (注意:如果你的xcode没有添加过代码块,那你是找不到这个文件夹的) ~/Library/Devel...

  • Xcode常用代码块

    Xcode的代码片段(Code Snippets)创建自定义的代码片段,当你重用这些代码片段时,会给你带来很大的方...

  • iOS 常用代码块

    不定期添加和整理 如有帮助,点个喜欢可好? 目录 1. 扩大按钮点击范围(扩大点击事件响应范围) 富文本 2.1 ...

  • 常用的代码块

    改变WebView的字体大小 (void)webViewDidFinishLoad:(UIWebView *)we...

  • Sinon常用代码块

    #1,使用sinon创建假服务器 #2,使用sinon创建一个模块/对象的仿制品

网友评论

    本文标题:golang常用代码块

    本文链接:https://www.haomeiwen.com/subject/jkjukxtx.html