Go碎碎念

1. 时间类型转换为字符串类型

    now := time.Now()

    fmt.Println(now.Format("2006-01-02 03:04:05 PM"))

    yesterday := time.Now().AddDate(0,0,-1).Format("2006-01-02")

2. go如何执行外部命令

复制代码
package main

import (
        "fmt"
        "os/exec"
        "strings"
)

const (
    cpuNumCmd = "grep 'processor' /proc/cpuinfo | sort -u | wc -l"
    memSizeCmd = "grep 'MemTotal' /proc/meminfo |awk '{print $2/1024}'"
)

func main(){
      cpuNum := execShell(cpuNumCmd)
      fmt.Println(cpuNum)
      memSize := execShell(memSizeCmd)
      fmt.Println(memSize)
}


func execShell(cmd string) string {
        out, err := exec.Command("bash","-c",cmd).Output()
        if err != nil {
                return fmt.Sprintf("Failed to execute command: %s", cmd)
        }
        return strings.Replace(string(out),"\n","",-1)
}
复制代码

3. go中如何将字符串分割成数组(分隔符为一个或多个空格)

     re, _ := regexp.Compile(" +") 

     re.Split(v,n)

     其中,n代表分割的次数,如果为负数,则代表切割任意次。

4.  ./3.go:51:34: cannot use example["query"] (type interface {}) as type string in assignment: need type assertion

for _, item := range items {
    value, ok := item.(T)
    dosomethingWith(value)
}

5. 数组和切片的区别

   其实两者的定义差不多,只不过前者需要指定长度,而后者则不需要,如:

   数组: var a [3]int

   切片: var s []int

   切片也可通过make创建

   var s = make([]int,0)

6. 如何判断某一行是否为空行

    if  (len(line) ==0) 

7. 如何去掉字符串中的一个或多个空格

strings.Join(strings.Fields(str),"")

posted @   iVictor  阅读(312)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2015-12-29 利用Shell脚本将MySQL表中的数据转化为json格式
2015-12-29 恢复MySQL主从数据一致性的总结
点击右上角即可分享
微信分享提示