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

相关推荐
aischang15 分钟前
统信桌面专业版如何使用python开发平台jupyter
开发语言·python·jupyter·统信uos
狐凄37 分钟前
Python实例题:Python计算概率论
开发语言·python·概率论
q567315231 小时前
分布式增量爬虫实现方案
开发语言·分布式·爬虫·python
勤奋的知更鸟1 小时前
LLaMA-Factory和python版本的兼容性问题解决
开发语言·python·llama-factory
CIb0la1 小时前
Ai自动补全编程工具:llama vscode
运维·开发语言·学习·测试工具·程序人生
1candobetter1 小时前
JAVA后端开发——多租户
java·开发语言
freyazzr2 小时前
C++八股 | Day3 | 智能指针 / 内存管理 / 内存分区 / 内存对齐
开发语言·c++
序属秋秋秋2 小时前
《C++初阶之入门基础》【普通引用 + 常量引用 + 内联函数 + nullptr】
开发语言·c++·笔记
星辰离彬2 小时前
Java 高级泛型实战:8 个场景化编程技巧
java·开发语言·后端·程序人生
纨妙2 小时前
python打卡day47
开发语言·python