Go语言随机数使用示例

在Go语言中,可以使用math/rand包来生成随机数。

以下是一个简单的示例,演示如何生成不同类型的随机数:

package main

import (
    'fmt'
    'math/rand'
    'time'
)

func main() {
    // 设置随机数种子,保证每次运行结果不同
    rand.Seed(time.Now().UnixNano())

    // 生成0-99之间的随机整数
    fmt.Println('随机整数:', rand.Intn(100))

    // 生成0.0-1.0之间的随机浮点数
    fmt.Println('随机浮点数:', rand.Float64())

    // 生成指定范围内的随机浮点数
    fmt.Println('指定范围内的随机浮点数:', rand.Float64()*(10.0-5.0)+5.0)
}

Go语言同步和异步接口示例

同步接口示例

以下是一个简单的同步接口示例:

package main

import (
    'fmt'
    'net/http'
)

func main() {
    http.HandleFunc('/', handler)
    http.ListenAndServe(':8080', nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, 'Hello World!')
}

在上述代码中,handler函数处理HTTP请求并返回响应。由于该函数是同步执行的,因此在函数返回之前,客户端会一直等待响应。

异步接口示例

以下是一个简单的异步接口示例:

package main

import (
    'fmt'
    'net/http'
)

func main() {
    http.HandleFunc('/', handler)
    http.ListenAndServe(':8080', nil)
}

func handler(w http.ResponseWriter, r *http.Request) {
    go func() {
        fmt.Println('异步执行...')
    }()
    fmt.Fprintf(w, 'Hello World!')
}

在上述代码中,我们在handler函数内部使用go关键字启动了一个新的goroutine。

这个goroutine会异步执行,不会阻塞主线程。因此,客户端可以立即收到'Hello World!'的响应,而goroutine则在后台继续执行。

Go语言随机数生成及同步异步接口示例

原文地址: http://www.cveoy.top/t/topic/juo0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录