Go时间转化问题,如何将1454129290这样是数字转为时间?
在Java中这样转是很方便的 new Date(1454129290L) 但是在Go中我就不知道如何转, 新人求大神们指教一下 谢谢啦...阅读全文
在Java中这样转是很方便的 new Date(1454129290L) 但是在Go中我就不知道如何转, 新人求大神们指教一下 谢谢啦...阅读全文
想问下怎么用下图查出的这些属性计算cpu的利用率?在线等,急急急!!!  { keys.push(key) } // Check if keys are empty and if not, probably declared object // returned. if (keys.length) { return keys } // Attempt using the __proto__ object if we can copy. We are probably ...阅读全文
我想解析一个json文件。对应的结构体是有两层嵌套。但是第二层嵌套就解析不出来了,求大神们指点 type Result struct{ Creds []Credential } type Credential struct { ThirdParty string Cid string `json:"cid"` Csecret string `json:"csecret"` RedirectURL string Scopes []Scope AuthURL string TokenURL string } type Scope struct{ s string } 结构体如上,解析...阅读全文
Go介绍 并发支持,垃圾回收的编译型系统编程语言。 特点: 类型安全 和内存安全 以非常直观和极低代价的方案实现高并发 高效的垃圾回收机制 快速编译 (同时解决C语言中头文件太多的问题) 为多核计算机提供性能提升的方案 UTF-8编码支持 Go环境变量 GOEXE=.exe // 形成可执行文件的后缀 GOPATH // 工作目录 GOPATH下约定俗成的目录: bin // 存放编译后生成的可执行文件 pkg // 存放编译后生成的包文件 src // 存放项目源码 常用命令 go get // 获取远程包 (git或hg(如果是谷歌code上托管)) go run // 直接运行程序 go build // 编译,检查是否有编译错误 go fmt // 格式化源码 go install ...阅读全文
***大神,我在网上搜索过了,都没有遇到这种问题,于是乎想到了这里和你*** **** 问题描述: >这个是执行完 glide init 后的结果,ty是项目,不知道为什么glide.yaml中package 为 “.” ,我认为它应该为ty,并且glide.yaml中显示需要引入ty/controller 等等,我认为不应该出现本地的包的。所以我再执行glide install时就报错了,因为找不到这些本地文件。 望大神解救!~~~~~ 执行过程:glide init > 执行过程:glide install >![webw...阅读全文
go语言菜鸟教程:http://www.runoob.com/go/go-tutorial.html 实效go编程:http://docscn.studygolang.com/doc/effective_go.html 在线go运行环境:https://tour.golang.org/welcome/1 go的安装:参照这里在Windows上安装非常easy:http://www.runoob.com/go/go-environment.html go中文标准库(Ctrl+f):http://docscn.studygolang.com/pkg/#stdlib go英文包索引与搜索引擎:https://godoc.org/ /*********************************...阅读全文
学习什么语言都得从读文件开始,好像记得一个大神说过计算机编程就是"打开文件,操作,关闭文件"。初学Golang就记一下go语言的文件操作 Read File func main(){ rw,err := os.Open("") if err != nil { panic(err) } defer rw.Close() rb := bufio.NewReader(rw) for { line, _, err := rb.ReadLine() if err == io.EOF { break } //do something fmt.Println(string(line)) } }func main(){ rw,err := os.Open("") if err != nil { panic(...阅读全文
--- FAIL: TestObjFile (0.04s) binutils_test.go:231: SourceLine: unexpected error write |1: broken pipe FAIL FAIL cmd/vendor/github.com/google/pprof/internal/binutils 0.059s 执行./all.bash后报错如上,求大神解...阅读全文
package products import ( "erp/models" "github.com/astaxie/beego/orm" ) type Product_Inventorys struct { Id int64 Name string Formate string Unit string Warehouse string C_name string Purchase string Price string Quantity string } func init() { orm.RegisterModel(new(Product_Inventory)) } //统计仓库存量 func ListInvent()(num int64,err error, invent []Prod...阅读全文
```go func abc() interface{} { blogRows, _ := models.Db.Query("select * from blog where id=1") defer blogRows.Close() catRows, _ := models.Db.Query("select * from category where id=1") defer catRows.Close() return 1 } ``` 这样并没有实现我想要的释放掉两个资源,似乎只释放了一个。于是我又做了以下实验: ```go func abc() interface{} { blogRows, _ := models.Db.Query("select...阅读全文
1.基础知识补充(指针、递增递减语句) 指针 go虽然保留了指针,但是与其它编程语言不同的是,在go当中不支持指针运算以及"->"运算符,而直接采用"." 选择符来操作指针目标对象的成员 操作符"&"取变量地址,使用"*"通过指针间接访问目标对象 默认值为nil而非null 在go中,++与--是作为语句而并不是作为表达式 a := 1 a++ //但不能这样:a := a++,只能作为单独的语句独占一行 2.if判断语句 条件表达式没有括号 支持一个初始化表达式(可以是并行方式) 左大括号必须和条件语句或else在同一行 支持单行模式 初始化语句中的变量为block级别,同时隐藏外部同名变量 func main(){ a := 10 if a:=1 { fmt.Println(a) } f...阅读全文
我有一个文件a.txt 里面的内容为 1,2,3,4,5,6,7 (每个数字单独一行) 然后读取文件的内容 ```go func main() { readFile, err := os.Open("a.txt") buf := make([]byte, 10) for { n, _ := readFile.Read(buf) fmt.Println(string(buf), "读取子节:", n) if n == 0 { break } } } ``` 运行结果为: 1 2 3 4 5 读取子节: 10 6 7 3 // 问题在这 4 5 读取子节: 4 6...阅读全文
用adodb驱动查询mssql数据。如果参数带有大括号。就会显示错误: ServeSrs sql db.Prepare error发生意外。 (语法错误或违反访问规则) 代码如下: db, err0 := sql.Open("adodb", cfg.Cfg["mssql"]) if err0 != nil { log.Println("ServeSrs sql open error") } else { defer db.Close() stmt1, err0 := db.Prepare(` select top ? * from (select a.[Id], a.[CreateDate],a.[PublisherId],a.[NickName],a.[FileSize],a.[Follo...阅读全文
go怎么实现延迟任务执行 main函数执行后 直接退出了 在main函数里面是有select{}可以实现执行完后在退出 ,但是实际项目应用中肯定不能这样做,例如执行一个每20秒执行一个任务 应该怎么做func main() { //go timer1() //timer2() for i :=1; i <10 ; i++ { task :=&Task{i+1,"a",""} task.Start() } } type Task struct { delay int key string data string } func NewTask(delay int,key ,data string) *Task { task :=&Task{ delay:delay, key:key, data:...阅读全文
按照之前的理解go 里面interface可以当成java 里面的object类型 那么理所当然的声明一个如下结构的方法  然后调用该方法传入如下参数  结果却显示类型不匹配,表示不能理解,请大神指教。  continue:进入下一次for迭代 虽然Go是类C的语言,但Go在这些流程控制语句中的条件表达式部分不使用括号。甚至有些时候使用括号会报错,但有些复杂的条件判断需要使用括号改变优先级。 如: if (name == "longshuai" && age > 23) || (name == "xiaofang" && age < 22) { print("yeyeye!!!") } if语句 if condition1 { // do something } else if condition2 { // do something else }...阅读全文
Go基本语法 [TOC] 1、运算符 Go 语言内置的运算符有:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其他运算符。 (1)算数运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 ++ 自增 -- 自减 (2)关系运算符 运算符 描述 == 检查两个值是否相等,如果相等返回 True 否则返回 False。 != 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 > 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 < 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 >= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 <= 检查左边值是否小于等于右边值,如果...阅读全文
现在写了一个tcp服务 然后这个服务里 包含了很多个map 存储一些信息 现在碰到一个问题: 当我需要更改服务里一些内容 如升级 我只能重启 但是重新启动 map的数据就丢失了 所以求大神有没有好的方法 如果重启了 map数据不会丢失 一直保留着 ...阅读全文
代码如下: ```go var temp interface{} err := json.Unmarshal(code, &temp) m := temp.(map[string]interface{}) cmd_name := m["command"] msgId := m["msg_id"] fmt.Println("cmd_name: ", m["command"]) ``` 各位大神,帮忙看一下这段代码有没有什么问题,一个jsonDecode的过程报错了,错误是: > panic: interface conversion: interface {} is nil, not map[string]interface {...阅读全文
go入门新生一枚,请教各位大神,goreman 的参数 -p 具体作用是什么? 我网上查了很多资料也没有介绍的,谢...阅读全文
前端 response 里的 json 带引号  日志里显示正常  代码里是 借用的 https://studygolang.com/articles/7970 这个例子。。 用他的返回值发送 ```go this...阅读全文
写grpc拦截时,调用方法显示类型不一致,但是类型是相同的,而且其他的项目都行,就这个不行   我自己定义了一个结构体,然后,local.Name是一个[]string,local.Ipv是一个map,希望先range出来name之后然后用range $.Ipv.name(刚刚第一个range出来的name)打出该name在map中的对应项,求大神打...阅读全文
迭代版排序 ```go package main import ( "fmt" ) func main() { var arr = []int{6, 5, 3, 1, 8, 7, 2, 4, 9} fmt.Println(arr) fmt.Println(MergeSort(arr)) } func MergeSort(arr []int) []int { var alen = len(arr) var ns = make([]int, alen, alen) var tmp = &arr var stmp = &ns for add := 1; add < alen; add *= 2 { fmt.Println(ad...阅读全文
```go package main import ( "fmt" "runtime" "time" ) func main() { go func() { for i := 0; i < 5; i++ { if i == 3 { runtime.Gosched() } fmt.Println("g1", i) } }() go func() { fmt.Println("g2") }() time.Sleep(1 * time.Second) } ``` 各位大神,请问这个执行结果是什么呀? ...阅读全文
For For语句有三个基本部分组成,以分号隔开: 初始语句:只在第一次循环开始前执行,通常就是变量定义和初始化,这里定义的变量作用范围只在For循环本身。 条件表达式:每一次循环开始前执行,当false结束循环。 post语句:每一次循环结束后执行。 技巧: 初始语句和post语句是可以省略的。 条件表达式也可以省略,就是死循环。 Go语言只有一个循环结构,就是for语句。while语句在Go中也是由for表示。 // for sum := 1 for ; sum < 1000; { sum += sum } // while sum := 1 for sum < 1000 { sum += sum } 注意点: 与其他语言不同,三个语句不需要用括号括起来。 循环体需要用大括号括起来。 I...阅读全文
一、计算示例 package main import "fmt" func main() { a := 100 b := 2 fmt.Printf("%d + %d = %d\n", a, b, Add(a, b)) fmt.Printf("%d - %d = %d\n", a, b, Sub(a, b)) fmt.Printf("%d * %d = %d\n", a, b, Mul(a, b)) fmt.Printf("%d / %d = %d\n", a, b, Div(a, b)) } func Add(x, y int) int { return x + y } func Sub(x, y int) int { return x - y } func Mul(x, y int) in...阅读全文
``` //fw, err := os.Create(zName) // if err != nil { // return nil, err // } // defer fw.Close() buf := new(bytes.Buffer) w := zip.NewWriter(buf) defer w.Close() ``` 我使用这两个创建一个write的时候,写出来的zip文件大小差了20多k,然后buf创建的不可用,但是写文件的可用,有大神解决一下吗...阅读全文
1.基础知识补充(指针、递增递减语句) 指针 go虽然保留了指针,但是与其它编程语言不同的是,在go当中不支持指针运算以及"->"运算符,而直接采用"." 选择符来操作指针目标对象的成员 操作符"&"取变量地址,使用"*"通过指针间接访问目标对象 默认值为nil而非null 在go中,++与--是作为语句而并不是作为表达式 a := 1 a++ //但不能这样:a := a++,只能作为单独的语句独占一行 2.if判断语句 条件表达式没有括号 支持一个初始化表达式(可以是并行方式) 左大括号必须和条件语句或else在同一行 支持单行模式 初始化语句中的变量为block级别,同时隐藏外部同名变量 func main(){ a := 10 if a:=1 { fmt.Println(a) } f...阅读全文
golang实战笔记 一、集合类型 1.值指针和引用类型 a、go语言变量持有相应的值,列外:通道、函数、方法、映射以及切片的引用变量持有的都是引用,以即保存指针的变量。 b、函数或者方法的参数是值传递,即传递的值会被复制一次,因此: 对于布尔变量和数值类型的参数来说,很廉价,每个变量占1~8个字节; 按字符串传也廉价,64位机器16字节,32位机器8字节; 数组代价很大,使用切片替代; 注意:通过使用指针,我们可以让参数的传递成本最低,并且可修改;指针亦可以指向引用类型,但只对切片有用 2. new(Type) === &Type{} 两种语法都分配了一个Type类型的值,同时返回一个指向该值的指针;使用大括号的有点,可以为其指定初始值 3. 数组和切片 a、数组:是一个定长的序列,其中元...阅读全文
```go package main import ( "fmt" ) func main() { var data = []int{6, 5, 3, 1, 8, 7, 2, 4, 9} // var tree *bst fmt.Println(tree) tree = insert(tree, data[0]) //init tree for _, v := range data { tree = insert(tree, v) } printTree(tree, 0, "") for i, str := range fstr { fmt.Println("L", i, str) } // fo...阅读全文
包 Go源文件中非注释的第一行需要指明这个文件属于哪个包,每个 Go 应用程序都包含一个名为 main 的包,package main表示一个可独立执行的程序。要使用其它包的代码需要使用import引入包。 package main import ( "fmt" ) func main() { fmt.Println("Hello, World!") } 标识符 当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头时,可以被外部包的代码所使用,而标识符如果以小写字母开头则只能在包内部使用。 函数 函数第一个左大括号不能单独放在一行,否则编译时会报错。 func main() { fmt.Println("Hello, World!") } 行分隔符 在 Go中,一行代表一...阅读全文
Go与C语法相似 Go注释和C语言一样 // 表示单行注释 /**/ 表示多行注释 Go也是由函数构成 Go语言的入口函数也是main,而且一个程序里面只能有一个main, 并且没有main函数程序不能执行 Go语言的基本格式 func main(){ 逻辑语句; } package main import "fmt" func main() { fmt.Println("hello world") } 格式详解: func表示这个一个函数 main表示函数名称 (): 形参列表 {}: 函数体 package main 表示main的包; import "fmt", 表示引包,告诉系统去哪里找printf这个方法 并且引包之后必须通过 包名.函数名称 的方式来调用fmt.printf("H...阅读全文
指针 Go虽然保留了指针,但与其他编程语言不同的是,在Go当中不支持指针运算以及“->”运算符,而直接采用“.”选择符来操作指针目标对象的成员 操作符 “&”取变量地址,使用“ * ” 通过指针间接访问目标对象 默认值为nil而非NULL 递增递减语句 在Go当中,++与– 是作为语句而并不是作为表达式。 选择语句switch 可以使用任何类型或表达式作为条件语句 不需要写break,一旦条件符合自动终止 如希望继续执行下一个case,需使用fallthrough语句 支持一个初始化表达式(可以是并行方式),右侧需跟分好 左大括号必须和条件语句在同一行 12345678910111213141516171819202122232425262728293031323334353637 func...阅读全文
map是一些键值对的集合,默认值为nil,使用内置函数make创建map: var map_variable map[key_data_type]value_data_type map_variable := make(map[key_data_type]value_data_type) func main() { var numberMap map[string] int numberMap=make(map[string]int) println(len(numberMap)) } map可以使用大括号来初始化: var numberMap =map[string] int{"one":1,"two":2,"three":3} 判断元素是否存在: func main() { var nu...阅读全文
1. if结构 概念:if是用于测试某个条件的语句,如果该条件成立,则会执行if后面由大括号包裹的代码块,否则就会忽略该代码块继续执行后面的语句 其格式如下 if condition { // statement } 2. if-else结构 如果有两个分支就可以在if条件语句的基础上添加else语句 其格式如下 if condition { // statement } else { // statement } 3. 多重if-else结构 多重if-else的格式如下 if condition { // statement } else if condition { // statement } else { // statement } 4. switch结构 switch分支结构如...阅读全文
数组 Go数组声明需要指定元素类型以及元素个数,格式如下: var variable_name [SIZE] variable_type var values [10] int Go使用大括号初始化数组中的元素,如果元素没有指定初始值,默认为零值。 func main() { var values=[10] int{1,2,3,4} println(values[0])//1 println(values[4])//0 } 如果数组有初始值,数组大小使用...代替,Go将会根据元素个数来设置数组大小。 func main() { var values=[...] int{1,2,3,4} println(len(values))//4 } Go支持多维数组,格式如下: var variabl...阅读全文
Golang: 思路:模拟大数乘法,实现麻烦,实现难度并不大 代码如下: func multiply(num1 string, num2 string) string { if num1[0]=='0'||num2[0]=='0'{ return "0" } bytes1:=[]byte(num1) bytes2:=[]byte(num2) res:="0" s:="" for i:=len(num2)-1;i>=0;i--{ var temp strings.Builder temp.WriteString(s) s+="0" n:=0 t:=int(bytes2[i]-'0') if t!=0{ for j:=len(num1)-1;j>=0;j--{ mu:=t*int(bytes1[...阅读全文