首页 > 其他分享 >go脚本示例

go脚本示例

时间:2023-09-17 22:01:22浏览次数:37  
标签:脚本 示例 fmt package Println func go import main

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

  1. Hello, World!
package main

import "fmt"

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

import (
    "fmt"
    "time"
)

func main() {
    currentTime := time.Now()
    fmt.Println("当前时间:", currentTime)
}
  1. 计算两个数的和
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
package main

import "fmt"

func main() {
    for i := 1; i <= 10; i++ {
        fmt.Println(i)
    }
}
  1. 判断一个数是否为素数
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 项
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. 读取和写入文件
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 服务器
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. 执行系统命令
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 实现并发计算
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 脚本示例,涵盖了不同的用途。您可以根据需要选择一个或多个脚本来运行和学习。

标签:脚本,示例,fmt,package,Println,func,go,import,main
From: https://blog.51cto.com/u_16161880/7504084

相关文章

  • Invalid prop type check failed for prop “image“. Expected String, got Undefine
    问题描述:vue中类型不匹配导致的错误。大致的意思是期待的是“image“类型,传入的是string,所以导致出错。解决办法:类型转换 <pan-thumb :image="String(filePath)"> ......
  • golang项目搭建笔记-cobra
    cobra介绍GitHub地址cobra中,一个命令主要概念为command,arguement,flag,可以理解为谓语、宾语、状语格式为APPNAMECOMMANDARG--FLAG,例如:gitcloneURL--bare项目搭建cobra提供了非常方便的工具cobra-cli,可以快速添加命令,参考官方文档新建项目#进入项目目录gomodin......
  • Go基础语法
    1.结构packagemain//声明main包,表明当前是一个可执行程序import"fmt"//导入内置fmtfuncmain(){//main函数,是程序执行的入口fmt.Println("HelloWorld!")//在终端打印HelloWorld!}运行gorunmain.go2.变量常量数据类型packagemainimpor......
  • Mongodb/Elasticsearch数据备份/还原(随记)
    一,MongoDBv4.0.3数据备份/还原登录mongo库:mongo--port27017-u"root"-p"xxxxxxxx"--authenticationDatabase"admin"################备份##################1,mongo全库备份:mongodump-uroot-pxxxxxxxx--authenticationDatabaseadmin--op......
  • 从 MongoDb 集合中选择文档返回响应时出现不可序列化错误
    当从MongoDB集合中选择文档返回响应时出现不可序列化错误,可能是因为以下原因:数据类型不可序列化:检查文档中的数据类型是否可被序列化。某些数据类型,如日期对象或二进制数据,可能无法直接序列化为常见的数据格式(如JSON)。在这种情况下,您可能需要先对这些数据进行处理,将其转换为可序列......
  • 【GO使用redis】GO语言使用Redis基础
    之前我为大家分享了php版本的对于redis的使用,当然我也是一个go的初学者,把自己在用go的时候对接redis的时候也记录一下,为大家分享一下。下面正式开始。redis有许多go语言的客户端包,都能实现对redis的操作。例如redigo、go-redis。我们可以随意选择想要安装的我们使用的是redigo,下......
  • 深入探讨Spring Data JPA的查询示例
    前言SpringDataJPA是一个非常强大的ORM框架,它提供了许多方便的查询方法,使得我们可以轻松地进行数据库操作。本文将深入探讨SpringDataJPA的查询示例,帮助读者更好地理解和使用该框架。基本查询SpringDataJPA提供了一些基本的查询方法,如findById、findAll、save等。这些方法......
  • Spring boot data mongodb入门
    在SpringBoot中使用Mongodb,首先导入依赖库:    <dependency>      <groupId>org.springframework.boot</groupId>      <artifactId>spring-boot-starter-data-mongodb</artifactId>    </dependency>连接配置## 阿里云副本实......
  • 分享攒了多年的mssql脚本
    分享攒了多年的mssql脚本 分享攒了多年的mssql脚本脚本类别包括:备份还原表分区常用函数错误日志定时自动抓取耗时SQL并归档发邮件脚本模块镜像批量脚本数据库收缩数据库损坏数据库账号统计数据库大小性能作业脚本数量:54个 github地址:https://github.com/xiaohuazi123/ms......
  • linux 开机启动脚本
    vim/etc/systemd/system/frl.service[Unit]Description=uWSGIinstancetoservefile-redis-loadAfter=network.target[Service]User=webWorkingDirectory=/home/web/frs/ExecStart=/bin/bash-c'source/home/web/.bash_profile&&/home/web/frs/......