Go语言中文网 为您找到相关结果 266

golang学习笔记2:基本结构与数据类型

下面列举了 Go 代码中会使用到的 25 个关键字或保留字:除了以上介绍的这些关键字,Go 语言还有 36 个预定义标识符,其中包含了基本类型的名称和一些基本的内置函数。程序一般由关键字、常量、变量、运算符、类型和函数组成。程序中可能会使用到这些分隔符:括号 (),中括号 [] 和大括号 {}。程序中可能会使用到这些标点符号:. , ; : 和 …程序的代码通过语句来实现结构化。每个语句不需要像 C 家族中的其它语言一样以分号;结尾,因为这些工作都将由 Go 编译器自动完成。如果你打算将多个语句写在同一行,它们则必须使用;人为区分,但在实际开发中我们并不鼓励这种做法。如果对一个包进行更改或重新编译,所有引用了这个包的客户端程序都必须全部重新编译。Go 中的包模型采用了显式依赖关系的机制来达到...阅读全文

博文 2018-10-12 00:34:42 编程老司机

19年第34周:Go 我没对象

一、前言 Unix 一切皆文件 C++/Java/Python 一切皆对象 Golang 一切皆类型 二、Go为什么没对象? Go没对象,为什么呢?这个好难回答,不如换个问题:“You 为啥没对象?” 哈哈,开玩笑,我不知道。 三、为什么要有对象呢?不要对象不行么? 用C的时候,嗯,没有对象是很正常的。 学C++的时候,第一堂课,就是:“恭喜在座的各位,你们开始有对象了。”从此,对象是必须的。 学Go的时候,啥,没对象,没对象怎么过,没法活了。 四、没对象怎么办? 没对象,又想要原来那种有对象的日子,怎么办? 好说好说,那就是假装自己有对象 Go可以通过类型的组合来表现出让自己有对象。 这就好比,好多年前啊,一哥们给我返会一个bool类型,在他的语法里,假是 false, 真是 true,我...阅读全文

博文 2019-08-23 04:32:44 习惯研究所所长

Golang 语言基础之五: function

Golang 语言基础之五: function Golang 语言基础系列: Golang 语言基础之一: type, variable, constant Golang 语言基础之二: for, ifelse, switch Golang 语言基础之三: array, slice Golang 语言基础之四: map, range Golang 语言基础之五: function Golang 语言基础之六: string, pointer Golang 语言基础之七: struct, method Golang 语言基础之八: interface Golang 语言基础之九: error, panic, recover Golang 语言基础之十: goroutine, channel 函...阅读全文

博文 2017-02-10 13:40:05 Xiaohui Wang

golang初试:坑爷的

用Golang与perl脚本比较, 初想至多差一倍吧...结果可不是一般的坑爹, 简直就是坑爷了. Perl脚本 #!/bin/bash source /etc/profile; function extractAndZip(){ _debug "$FUNCNAME,$@"; local logFile="${2}" local gzipFile="${1}" perl -ne 'if(m/([^ ]*) \- ([^ ]*) \[([^ ]*) [\+\-][0-9]{4}\] \"(\-|(([^ ]*) )?([^\?\;\% ]*)([\?\;\%]([^ ]*))?( ([^\"]*))?)\" ([^ ]*) ([^ ]*) \"([^\"]*)\" \"([^\"]*)\" \...阅读全文

博文 2016-09-09 18:00:01 zolo

go语言第四天

5.0 控制结构 这章挺简单,程序也离不开控制和循环语句,按照每个语言的要求来就行了,没有什么特别的 ,让我们看看go的分支和循环是什么样的 关键字 if 和 else 之后的左大括号 { 必须和关键字在同一行,如果你使用了 else-if 结构,则前段代码块的右大括号 } 必须和 else-if 关键字在同一行。这两条规则都是被编译器强制规定的 if condition { // do something } if condition { // do something } else { // do something } if condition { // do something } else { // do something } if initialization;conditio...阅读全文

求大神帮忙解决问题

取文章函数: ![1513857512(1).png](https://static.studygolang.com/171221/6db4e1a71ce381ef6c546cfa6caed970.png) topiccontroller调用函数: ![1513857531(1).png](https://static.studygolang.com/171221/3bc0b6821c69401fdad20f5ec7ab0c9c.png) ![1513857478(1).png](https://static.studygolang.com/171221/c4290c98a2da451784ddb5a1ead4f012.png) 为什么会出现这个情...阅读全文

golang 如何将imagemagick 和golang 打包到docker 环境中

公司最近开发了个项目,用到了imagemagick 和golang 环境,在我本地机上开发妥妥的,结果准备部署到线上环境的时候,出现了大坑,尝试了无数次后,最后还是解决了,官方说有问题也不说清楚点,一步一步的摸索直接上最后的代码吧 FROM golang MAINTAINER jackluo RUN apt-get update && apt-get install -y --no-install-recommends libwebp-dev libjpeg-dev libpng-dev wget freetype2-demos libfreetype6-dev libfreetype6 RUN wget https://www.imagemagick.org/download/ImageM...阅读全文

博文 2017-12-01 00:00:01 jackluo

golang初试:坑爷的

http://www.jiaoyou8.com/friends_diary/IntOTherAin/9_9_2016/view_24094709_no_2016_0909.html http://www.jiaoyou8.com/friends_diary/Terrence09/9_9_2016/view_24094710_no_2016_0909.html http://www.jiaoyou8.com/friends_diary/WEICHENGXUN/9_9_2016/view_24094712_no_2016_0909.html http://www.jiaoyou8.com/friends_diary/IntOTherAin/9_9_2016/view_24094716_no_20...阅读全文

博文 2016-09-08 17:00:02 bbwangmail

hdu 5546/Ancient Go

Problem Description Yu Zhou likes to play Go with Su Lu. From the historical research, we found that there are much difference on the rules between ancient go and modern go. Here is the rules for ancient go they were playing: ⋅The game is played on a 8×8 cell board, the chess can be put on the intersection of the board lines, so there are 9×9 diffe...阅读全文

博文 2016-10-05 15:00:02 qq_32944513

多个goroutine如何协作

举个例子,比如我有一个数组,包含了 1-100 这些数字 有一个处理函数,比如输出平方 ``` go func cal(num int) { fmt.Println(num * num) } ``` cpu 是多核, 我想知道 go 如何能启用多个 goroutine 并行处理这 100 个数字 输出的顺序不重要 希望大神讲解下 最好能给段代码讲解下 谢谢...阅读全文

[易学易懂系列|rustlang语言|零基础|快速入门|(4)]

Borrowing继续讲讲另一个重要的概念:借用(borrowing),什么是借用?我们先来看前一文章([易学易懂系列|rustlang语言|零基础|快速入门|(3)])的代码 : let a = [1, 2, 3]; let b = a;println!("{:?} {:?}", a, b);// [1, 2, 3] [1, 2, 3] let a = vec![1, 2, 3]; let b = a;println!("{:?} {:?}", a, b);// Error; use of moved value:a我们从上篇文章知道,第二段代码会报错,那怎么才能不报错呢?我们改成以下代码: let a = vec![1, 2, 3];let b =&a;//这里加了一个符号:&,表示借用...阅读全文

什么是go语言

简介 Go(又称Golang)是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊(Ken Thompson)于2007年9月开始设计Go,稍后Ian Lance Taylor、Russ Cox加入项目。Go是基于Inferno操作系统所开发的。Go于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后来追加了Windows系统下的实现。在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”。 目前,Go每半年发布一个二级版本(即从a.x升级到a.y)。 描述 Go的语法接近C语言,但对...阅读全文

博文 2019-04-26 20:35:10 li513991

Godep使用中的坑,求指导

1. Godep 使用 Restore之后将下载下来的包放在了github.com的目录下,而没有放在Vendor目录下,我想把下载下来的包放到vendor的目录下,但是执行godep save [package]没有反映,使用Godep怎样才能做到我要的效果? 2. 某些文件在执行godep restore的时候下载失败,我把这些包手动放在了vendor下,然后提交到远程,执行go save的时候怎么忽略我手动放到vendor的包? ...阅读全文

求教,go语言里关于json.Unmarshal 解析json格式数据问题

我想解析一个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 } 结构体如上,解析...阅读全文

golang基础

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 ...阅读全文

博文 2017-08-22 01:05:10 Alogy

即使是大神也没见过的glide的 大坑!!!!!

***大神,我在网上搜索过了,都没有遇到这种问题,于是乎想到了这里和你*** **** 问题描述: >这个是执行完 glide init 后的结果,ty是项目,不知道为什么glide.yaml中package 为 “.” ,我认为它应该为ty,并且glide.yaml中显示需要引入ty/controller 等等,我认为不应该出现本地的包的。所以我再执行glide install时就报错了,因为找不到这些本地文件。 望大神解救!~~~~~ 执行过程:glide init >![a.jpg](https://static.studygolang.com/180716/8b4549035700106f2372a3dc4278f4ad.jpg) 执行过程:glide install >![webw...阅读全文

博文 2018-07-16 17:28:58 xmge

go语言学习

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/ /*********************************...阅读全文

博文 2016-10-05 04:00:05 曾劲松

Golang Read File line by line

学习什么语言都得从读文件开始,好像记得一个大神说过计算机编程就是"打开文件,操作,关闭文件"。初学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(...阅读全文

博文 2017-02-09 13:42:15 dreambei

多表查询的问题,mysql查询有数据,编写models的时候没传数据(数量是有传值,其他参数没有传值)(models联表查询创建,数据库没有表),各位大神请教下

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...阅读全文

博文 2019-01-15 20:42:11 zhong

新入GO门,请教大神们关于defer的一个问题

```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...阅读全文

golang map初始化的坑

Map nil import ( "fmt" ) //panic: assignment to entry in nil map type Param map[string]interface{} type Show struct { Param } func main() { s := new(Show) //s.Param["RMB"] = 10000 //panic: assignment to entry in nil map s.Param = map[string]interface{}{} s.Param = Param{} s.Param["RMB"] = 10000 fmt.Println(s) } package main import "fmt" type Param ...阅读全文

博文 2020-05-29 11:34:13 夜空一起砍猩猩

Golang学习笔记4——控制语句

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...阅读全文

博文 2017-10-24 16:00:01 marks-gui

关于*osFile.Read() 读取的问题

我有一个文件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...阅读全文

golang adodb mssql数据库的query格式化奇葩问题

用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...阅读全文

博文 2019-05-13 18:34:47 毛毛v5

go 开发 寻求大神帮助

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:...阅读全文

博文 2018-08-02 13:46:30 lemonsds

go 方法参数类型转换

按照之前的理解go 里面interface可以当成java 里面的object类型 那么理所当然的声明一个如下结构的方法 ![image.png](https://static.studygolang.com/171203/da52b496488b12dd89e5589a7069dd00.png) 然后调用该方法传入如下参数 ![image.png](https://static.studygolang.com/171203/5290c560a4e714097723b7f0600a72ab.png) 结果却显示类型不匹配,表示不能理解,请大神指教。 ![image.png](https://static.studygolang.com/171203/d2b34cab19...阅读全文

Go基础系列:流程控制结构

条件判断结构:if else 分支选择结构:switch case 循环结构:for break:退出for或switch结构(以及select) 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 }...阅读全文

博文 2018-11-23 09:10:52 f-ck-need-u

04Go基本语法

Go基本语法 [TOC] 1、运算符 Go 语言内置的运算符有:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其他运算符。 (1)算数运算符 运算符 描述 + 相加 - 相减 * 相乘 / 相除 % 求余 ++ 自增 -- 自减 (2)关系运算符 运算符 描述 == 检查两个值是否相等,如果相等返回 True 否则返回 False。 != 检查两个值是否不相等,如果不相等返回 True 否则返回 False。 > 检查左边值是否大于右边值,如果是返回 True 否则返回 False。 < 检查左边值是否小于右边值,如果是返回 True 否则返回 False。 >= 检查左边值是否大于等于右边值,如果是返回 True 否则返回 False。 <= 检查左边值是否小于等于右边值,如果...阅读全文

请教一个jsonDecode编码时遇到的问题

代码如下: ```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语言 json 问题

前端 response 里的 json 带引号 ![1301C40A217607330F2A996AB35E18C3.jpg](https://static.studygolang.com/171110/1301c40a217607330f2a996ab35e18c3.jpg) 日志里显示正常 ![4FFEC1F37D8DFF9E9C3408F7F03601BF.jpg](https://static.studygolang.com/171110/4ffec1f37d8dff9e9c3408f7f03601bf.jpg) 代码里是 借用的 https://studygolang.com/articles/7970 这个例子。。 用他的返回值发送 ```go this...阅读全文

急求,这个bug怎么解决!!!!!!!!!!!!!!!!!!!关于go语言grpc的问题。。。。。。。。大神

写grpc拦截时,调用方法显示类型不一致,但是类型是相同的,而且其他的项目都行,就这个不行 ![image.png](https://static.studygolang.com/170919/a5f86bf1be5b3a56547f5b25df1e48a9.png) ![微信图片_20170919161430.png](https://static.studygolang.com/170919/621c80354171581acf57c2750eca372c.png...阅读全文

glide install 后执行 build 并不能找到正确的包是为什么

如题,之前用 `go get `安装在`go path` 里面执行`build` 没问题 现在换了`glide `就把`go path` 下的`src` ` bin`目录清空了 `glide install` 后执行`go build`的时候好像还是 去`go path `找依赖。并不能正确的到`vendor`目录下找依赖 这个问题已经困扰我好久了,希望能解决下,谢谢各位大...阅读全文