Hello welcome to Yzone.net

go使用记录

string和int互相转换

// string到int  
int,err:=strconv.Atoi(string)  

// string到int64  
int64, err := strconv.ParseInt(string, 10, 64)  

// int到string  
string:=strconv.Itoa(int)  

// int64到string  
string:=strconv.FormatInt(int64,10) 

Go中`符号

非解释字符串. 该类字符串使用反引号括起来,支持换行,例如:

`This is a raw string \n` 中的 `\n\` 会被原样输出。

参考:http://docscn.studygolang.com/ref/spec#String_literals

字符串拼接

可用于字符串拼接的方法:

  • mt.Sprintf
  • string +
  • strings.Join
  • bytes.Buffer

import ( "bytes" "fmt" "strings" ) v := "a string" var s string // fmt.Sprintf s = fmt.Sprintf("%s[%s]", s, v) // string + s = s + "[" + v + "]" // strings.Join s = strings.Join([]string{s, "[", v, "]"}, "") // temporary bytes.Buffer b := bytes.Buffer{} b.WriteString("[") b.WriteString(v) b.WriteString("]") s = b.String() // stable bytes.Buffer buf.WriteString("[") buf.WriteString(v) buf.WriteString("]")

判断数据类型

可以用Go的空接口

建一个函数t 设置参数i 的类型为空接口,空接口可以接受任何数据类型

func t(i interface{}) {    //函数t 有一个参数i 
    switch i.(type) {      //多选语句switch
    case string:
        //是字符时做的事情
    case int:
        //是整数时做的事情
    }
    return
}

i.(type) 只能在switch中使用

这函数没有返回值,你可以自己加入

使用反射

还可以用反射:

package main

import (
        "fmt"
        "reflect"
)

func main() {
        var x float64 = 3.4
        fmt.Println("type:", reflect.TypeOf(x))
}

正则表达式

var str = "89"

// 大于的整数
var number = regexp.MustCompile(`^[1-9][0-9]*$`)

// is a number
if number.MatchString(str) {
    // ...
} else {
    // ...
}

分类 golang    标签 golang
文档结构