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

相关推荐
熊野君8 分钟前
附录与 Codex 实操手册
开发语言·人工智能·产品经理
XZ-0700011 小时前
week2-1-可视化
开发语言·python
Java后端的Ai之路1 小时前
14、Python - 责任链模式
服务器·开发语言·人工智能·python·责任链模式
吴声子夜歌1 小时前
Java——基本类型
java·开发语言
「QT(C++)开发工程师」2 小时前
C++11 std::unique_ptr — 独占所有权的智能指针
c语言·开发语言·c++·qt
不正经学生2 小时前
C语言动态内存管理(上):堆上的自由与责任
c语言·开发语言·c++·算法·面试
AI情绪识别开源2 小时前
检信AI高一分班分科智选评估系统 v2.0测试报告
开发语言·数据结构·人工智能·科技
纯.Pure_Jin(g)2 小时前
靶场PHP函数整理+防御方式
开发语言·php·ctf
海兰3 小时前
【 Python 量化交易】第3章:金融基础概念
开发语言·python·金融
一木 之林3 小时前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++