go

最新文章

Go语言日志框架logrus封装

logrus在github上是一个star数比较高的go日志框架,简单封装如下:package logimport ( "fmt" "github.com/Sirupsen/logrus" "runtime" "strings")var logger = logrus.New()// 封装logrus.Fieldstype Fields logrus.Fieldsfunc SetLogLevel(

Go日志框架logrus的基本用法

以package级别方式使用logruspackage main import ( "os" log "github.com/sirupsen/logrus" ) func init() { // 设置日志格式 log.SetFormatter(&log.JSONFormatter{}) // 设置输出 log.SetOutput(os.Stdout) // 设

Go语言把map接口转换为google.protobuf.Struct

以下是go语言把map[string]interface{}转换为google.protobuf.Struct:package pbimport ( "fmt" "reflect" st "github.com/golang/protobuf/ptypes/struct")// ToStruct转换map[string]interface{} 为ptypes.Structfunc ToStruct

Go语言获取对象的类型

Go reflect包含有检查变量类型的方法,示例代码如下:package main import ( "fmt" "reflect" ) func main() { v1:= "string" v2 := 100 v3 := 11.1 fmt.Println(reflect.TypeOf(v1)) fmt.Println(refle

Go语言逐行读取文件

使用Go语言逐行读取文件,最简单的方法是使用 bufio.Scanner。常规做法简单示例:package main import ( "bufio" "fmt" "log" "os" ) func main() { file, err := os.Open("/path/to/file.txt") if err != nil {

Go语言:变量的声明

在计算机语言中,变量是以可读的名称表示保存值的存储位置。变量存储的值都有对应的类型,它的类型决定了变量存储值的空间以及操作。在Go语言中,它的命名需要符合Go语言:标识符命名规则。变量在使用之前,需要先声明变量。Go语言提供了多种声明变量的方式,主要分为:使用关键词var基本格式声明变量多变量的声明使用简短赋值符:=声明变量下面介绍变量的多种声明方式声明变量的基本格式GO语言声明变量的基本格式是使

Go语言:标识符命名规则

标识符实际是名称的另一种叫法,它包括了变量名、函数名、方法名、类型名、包名等。Go语言规定了有下面几点命名的语法要求。 首字符必须是unicode字母或者下划线(_)先要说明,unicode字母并非只是英文字母表里的26个字母,汉字也是属于Unicode字母。对Unicode字母感兴趣的可以参考:The Unicode Standard 8.0, Section 4.5。换句话说,除了下

Go语言:变量的作用域(本地和全局变量)

变量声明的位置Go语言变量声明的位置有三种级别:包(package)级别:变量在函数外声明函数级别:变量在函数内,包括函数的传参参数变量,但在代码块外声明块级别:这个分两种,一种是显式,会使用大括号{}括起来的代码;另一种是隐式,如for,if后的初始化表达式。变量位置示例package main import "fmt" var test = "test" //在函数外,包级别变量 fu

Go语言高效拼接字符串

strings.BuilderGo 1.10以及以后版本使用strings.Builder,Builder在实现上有以下特点:最大限度地减少内存复制。零值(zero-value)可以直接使用,不需要初始化。示例:package main import ( "strings" "fmt" ) func main() { // 此处是zero value,不需要做初始化就可

Go语言基本类型:整型

整型分为有符号(signed)或无符号(unsigned)。有符号整型有符号整型根据整型所占的空间分为:类型占用的空间取值范围int依赖平台依赖平台int88 bit/1字节-2^7 至 2^7 -1int1616 bit/2两字节-2^15 至 2^15 -1int3232 bit/4字节-2^31 至 2^31 -1int6464 bit/8字节-2^6