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 脚本示例,涵盖了不同的用途。您可以根据需要选择一个或多个脚本来运行和学习。

相关推荐
ZTLJQ3 小时前
序列化的艺术:Python JSON处理完全解析
开发语言·python·json
2401_891482174 小时前
多平台UI框架C++开发
开发语言·c++·算法
88号技师4 小时前
2026年3月中科院一区SCI-贝塞尔曲线优化算法Bezier curve-based optimization-附Matlab免费代码
开发语言·算法·matlab·优化算法
t198751284 小时前
三维点云最小二乘拟合MATLAB程序
开发语言·算法·matlab
m0_726965985 小时前
面面面,面面(1)
java·开发语言
2401_831920745 小时前
分布式系统安全通信
开发语言·c++·算法
~无忧花开~5 小时前
React状态管理完全指南
开发语言·前端·javascript·react.js·前端框架
阿贵---6 小时前
C++中的RAII技术深入
开发语言·c++·算法
Traced back6 小时前
怎么用 Modbus 让两个设备互相通信**,包含硬件接线、协议原理、读写步骤,以及 C# 实操示例。
开发语言·c#