go脚本示例

以下是 Go 脚本的示例,涵盖了不同的主题和用途:

  1. Hello, World!
go 复制代码
package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}
  1. 打印系统时间
go 复制代码
package main

import (
    "fmt"
    "time"
)

func main() {
    currentTime := time.Now()
    fmt.Println("当前时间:", currentTime)
}
  1. 计算两个数的和
go 复制代码
package main

import "fmt"

func main() {
    var num1, num2 int
    fmt.Print("输入第一个数:")
    fmt.Scanln(&num1)
    fmt.Print("输入第二个数:")
    fmt.Scanln(&num2)

    sum := num1 + num2
    fmt.Println("两数之和:", sum)
}
  1. 循环打印数字 1 到 10
go 复制代码
package main

import "fmt"

func main() {
    for i := 1; i <= 10; i++ {
        fmt.Println(i)
    }
}
  1. 判断一个数是否为素数
go 复制代码
package main

import "fmt"

func isPrime(num int) bool {
    if num < 2 {
        return false
    }

    for i := 2; i*i <= num; i++ {
        if num%i == 0 {
            return false
        }
    }

    return true
}

func main() {
    num := 17 // 需要判断的数字
    if isPrime(num) {
        fmt.Println(num, "是素数")
    } else {
        fmt.Println(num, "不是素数")
    }
}
  1. 求解斐波那契数列前 N 项
go 复制代码
package main

import "fmt"

func fibonacci(n int) []int {
    if n <= 0 {
        return []int{}
    }

    fib := make([]int, n)
    fib[0], fib[1] = 0, 1

    for i := 2; i < n; i++ {
        fib[i] = fib[i-1] + fib[i-2]
    }

    return fib
}

func main() {
    n := 10 // 前 N 项
    fib := fibonacci(n)
    fmt.Println("斐波那契数列前", n, "项:", fib)
}
  1. 读取和写入文件
go 复制代码
package main

import (
    "fmt"
    "io/ioutil"
)

func main() {
    text := "这是要写入文件的文本"

    // 写入文件
    err := ioutil.WriteFile("file.txt", []byte(text), 0644)
    if err != nil {
        fmt.Println("无法写入文件:", err)
        return
    }

    // 读取文件
    data, err := ioutil.ReadFile("file.txt")
    if err != nil {
        fmt.Println("无法读取文件:", err)
        return
    }

    fmt.Println("文件内容:", string(data))
}
  1. 实现简单的 HTTP 服务器
go 复制代码
package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "Hello, World!")
    })

    fmt.Println("服务器正在监听端口 8080...")
    http.ListenAndServe(":8080", nil)
}
  1. 执行系统命令
go 复制代码
package main

import (
    "fmt"
    "os/exec"
)

func main() {
    cmd := exec.Command("ls", "-l") // 执行 ls -l 命令
    output, err := cmd.Output()
    if err != nil {
        fmt.Println("命令执行出错:", err)
        return
    }

    fmt.Println(string(output))
}
  1. 使用 Goroutines 实现并发计算
go 复制代码
package main

import (
    "fmt"
    "sync"
)

func calculate(n int, wg *sync.WaitGroup) {
    defer wg.Done()

    sum := 0
    for i := 1; i <= n; i++ {
        sum += i
    }

    fmt.Printf("计算结果:%d\n", sum)
}

func main() {
    var wg sync.WaitGroup

    for i := 1; i <= 5; i++ {
        wg.Add(1)
        go calculate(100*i, &wg)
    }

    wg.Wait()
}

这些是一些简单的 Go 脚本示例,涵盖了不同的用途。您可以根据需要选择一个或多个脚本来运行和学习。

相关推荐
CoderYanger1 小时前
Java EE 进阶:5. Spring IoC&DI(第三弹):Spring DI
java·开发语言·spring boot·spring·面试·java-ee·mvc
AIFQuant1 小时前
Python期货行情API接入:股指、黄金、原油多品种数据管道实战
开发语言·python·金融·区块链·量化开发
echome8881 小时前
JavaScript async/await 错误处理:别让 Promise 静默失败
开发语言·前端·javascript·promise
运维行者_1 小时前
供应链安全成最大风险源,企业如何构建可控的运维体系?
运维·开发语言·网络·数据库·安全·云计算·流量监控
.YM.Z2 小时前
优选算法——【双指针算法2】C++实现
开发语言·c++·算法
逆向编程2 小时前
MATLAB高级数据结构:cell、struct与table深度应用
开发语言·数据结构·matlab
努力努力再努力wz2 小时前
【Lua入门系列】从 Table 到元表与元方法:一文理解 Lua 的行为扩展机制
开发语言·junit·lua
qq_406981032 小时前
什么是顶层 const什么是底层const
开发语言·c++
Eider19982 小时前
python基础语法之并发基础练习
开发语言·python
#麻辣小龙虾#2 小时前
网页布局css中flex+margin的组合布局技巧
开发语言·前端·javascript