Go 字符串替换


package main
 
import (
    "fmt"
    "strings"
)
 
func main() {
    str := "welcome to beijing"
    strF = strings.Replace(str, " ", ",", -1)
    fmt.Println(strF)
    strS = strings.Replace(str, " ", ",", 1)
    fmt.Println(strS)
}
阅读全文

Go 字符串查找


判断字符串 string 中是否有字符 chars,如果有返回 true,否则返回 false。

str := "Hello World"
fmt.Println(strings.Contains(str, "l"))
fmt.Println(strings.Contains(str, "T"))

判断字符串 string 中是否有字符 chars 中的任意一个字符,如果有返回 true,否则返回 false。

fmt.Println(strings.ContainsAny(str, "Wa"))
fmt.Println(strings.ContainsAny(str, "Ta"))

检查字符串 string 中字符 chars 出现的总次数

fmt.Println(strings.Count(str, "l"))
fmt.Println(strings.Count(str, "T"))

判断字符串 string 是否以字符 chars 开头,如果是返回 true,否则返回 false。

fmt.Println(strings.HasPrefix(str, "He"))
fmt.Println(strings.HasPrefix(str, "T"))

判断字符串 string 是否以字符 chars 开头,如果是返回 true,否则返回 false。

fmt.Println(strings.HasSuffix(str, "d"))
fmt.Println(strings.HasSuffix(str, "a"))

阅读全文

Go 中 string、int、int64、float64类型相互转换


主要使用包 strconv

package main

import "strconv"

func main() {
    // string to int
    int, _ := strconv.Atoi(string)
    // string to int64
    int64, _ := strconv.ParseInt(string, 10, 64)
    // string to float64
    float64, _ := strconv.ParseFloat(value, 64)
    // int to string
    string := strconv.Itoa(int)
    // int64 to string
    string := strconv.FormatInt(int64, 10)
}
阅读全文

Go 操作 excel


读 excel

package main

import (
    "fmt"

    "github.com/tealeg/xlsx"
)

func main() {
    excelFileName := "test.xls"
    xlFile, _ := xlsx.OpenFile(excelFileName)
    for _, sheet := range xlFile.Sheets {
        for _, row := range sheet.Rows {
        for _, cell := range row.Cells {
            fmt.Println(cell.String())
        }
        }
    }
}

写 excel

package main

import (
    "encoding/csv"
    "os"
)

func main() {
    f, err := os.Create("test.xls")
    if err != nil {
        panic(err)
    }
    defer f.Close()
    // 写入 utf-8 编码
    f.WriteString("\xEF\xBB\xBF")
    w := csv.NewWriter(f)
    w.Write([]string{"编号", "姓名", "年龄"})
    w.Write([]string{"1", "张三", "23"})
    w.Write([]string{"2", "李四", "24"})
    w.Write([]string{"3", "王五", "25"})
    w.Write([]string{"4", "赵六", "26"})
    w.Flush()
}
阅读全文

使用 Visual Studio Code 开发 Go


设置 Windows 环境变量:

GOPATH = E:\Soft\GoPath
GOROOT = C:\Program Files\Go
Path = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Git\cmd;C:\Program Files\Git\mingw64\bin;C:\Program Files\Git\usr\bin;C:\Program Files\Python\;C:\Program Files\Python\Scripts;C:\Program Files\Go\bin;

阅读全文

安装 Go


Mac OS X 安装 go:

  • 下载 go 安装包并执行
  • 配置环境变量
  • 执行编译测试
export GOROOT=/usr/local/go
export GOPATH=$HOME/.gopath
export PATH=$PATH:$GOROOT/bin

GOROOT:
其中 GOROOT 是 go 的安装目录,也是 go 二进制执行文件的路径。

GOPATH:
go install/go get 和 go 的工具等会用到 GOPATH 环境变量。
GOPATH 是作为编译后二进制的存放目的地和 import 包时的搜索路径。其实也是你的工作目录, 你可以在 src 下创建你自己的 go 源文件, 然后开始工作。GOPATH 之下主要包含三个目录: bin、pkg、src。
bin 目录主要存放可执行文件; pkg 目录存放编译好的库文件; src 目录下主要存放 go 的源文件。不要把 GOPATH 设置成 go 的安装路径。





阅读全文

Git 如何删除远程服务器文件同时保留本地文件


在上传工程到 git 上时,有时候会把本地的一些配置文件传到服务器上,这时你先删除本地,再同步服务器,显然是不合理的。
git 提供了一个好的解决方法,可以直接删除服务器文件,同时不影响本地文件,命令如下:

git rm --cached filename/-r directory
git commit "xxxx"
git push

1.删除服务器文件,本地保留。

git rm --cached useless.log
git commit -m "remove file from remote repository"
git push

此时 github 上已经不存在了

2.删除远程 useless 文件夹,本地保留,一定要注意,删除文件夹要使用 -r 参数。

git rm --cached -r useless
git commit -m "remove directory from remote repository"
git push
阅读全文