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

go 中的包 和 规范

1.go 包的概念 把相同的功能放到一个目录,称之为包 包可以被其他的包引用 main包用来生成可执行文件,每个程序只有一个main包 包可以提高代码的可复用性 2. go的规范 golang的变量函数命名需要使用驼峰命名法,且不能出现下划线, 文件名使用下划线 golang中根据首字母的大小写来确定可以访问的权限。无论是方法名、常量、变量名还是结构体的 名称,如果首字母大写,则可以被其他的包访问;如果首字母小写,则只能在本包中使用可以简单 的理解成: 首字母大写是公有的,首字母小写是私有的文件的命名,全小写,测试的文件: xxx_test.go 包名和文件夹名字最好一样 详情请见如下: https://golang.google.cn/doc/effective_go.html#mixed...阅读全文

C++程序员学习go基础语法

概念差异: 1.Go没有继承和虚函数,但是提供接口interface。 2.Go有指针,但是没有指针算术。 3.Go提供垃圾回收。不需要delete 4.Go的字符串类似C++的const char*。无法被修改。 5.Go少数类型是引用传递。 6.Go的对外可见是以大小写定义头字母的来识别的。C++中是Public,private。 7.Go禁止隐式类型转换。 8.Go不支持函数重载和运算符重定义。 9.Go使用nil表示无效指针。 10.左大括号{必须在当前行。 0.命名规范以及缩进 1.行末没必要有分号 ; 。 2.对外变量或函数首字母大写。 3.命名规范我本人参考的http://studygolang.com/articles/2059 1.变量 1.基础类型 var a int8 ...阅读全文

博文 2016-11-04 10:00:01 mqdChalali

golang基础<2>

以下主要描述Go语言程序结构。 一、名称的定义规范 这里包括函数、变量、常量、类型、语句标签以及包的名称都必须以字母或下划线开头,后面可以跟任意数量的字符、数字和下划线,在golang中,名称是区分大小写的,如: var Age int8与var age int8是两个不相同的变量,golang中的关键字和内置的常量、类型和函数不能作为名称来使用。 (1)关键字: var和const :变量和常量的声明 var varName type 或者 varName : = value package and import: 导入 func: 用于定义函数和方法 return :用于从函数返回 defer someCode :在函数退出之前执行 go : 用于并行 select 用于选择不同类型的通...阅读全文

博文 2018-01-19 10:30:01 cw2030

Golang开发中遇到的一些问题。

1. 结构体中的属性的首字母大小写问题。 出现场景:MongoDB的golang驱动:mgo的数据存储,小写的字段不能存储 原因:golang的小写代表是私有函数或者私有属性。 2.函数的参数的 指针变量 和 非指针变量问题。 出现场景:beego的controller的TplName 指定无效。 原因:非指针参数的复制...阅读全文

博文 2016-09-17 10:00:10 ribavnu

go-面向对象编程(上)

一个程序就是一个世界,有很多对象(变量) Golang 语言面向对象编程说明 Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对 象语言。所以我们说 Golang 支持面向对象编程特性是比较准确的。 Golang 没有类(class),Go 语言的结构体(struct)和其它编程语言的类(class)有同等的地位,你可 以理解 Golang 是基于 struct 来实现 OOP 特性的。 Golang 面向对象编程非常简洁,去掉了传统 OOP 语言的继承、方法重载、构造函数和析构函 数、隐藏的 this 指针等等 Golang 仍然有面向对象编程的 继承,封装和多态的特性,只是实现的方式和其它 OOP 语言不 一样,比如继承 :Golang 没有 ...阅读全文

GO 语言学习 包 探究

GO语言中包是函数和数据的集合。 用package关键字定义一个包,包名的约定是使用小写字符。 包中的函数名以大写字母启始的是可导出的,及可以在包外部调用 GO 包的编译使用 go build 安装使用 go install 包命名规则:小写字母的一个单词,不应有下划线或混合大小写。 包名是导入的默认名称,可以使用其他名称来代替默认名称: import bar "bytes" 则 函数Buffer可以通过bar.Buffer来访问。 包的测试:go test 需要编写test文件,在test文件中以 packe XXX (XXX是要测试的包)开头, 并且导入 testing包 import "testing"。 测试函数都有相同的标识,名字以Test开头: func TestXxx(t *t...阅读全文

博文 2015-06-17 23:01:17 phlong999

go圣经笔记--第二章

2.1 命名 1) 一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线。 大写字母和小写字母是不同的。 2) 关键字有25个;关键字不能用于自定义名字,只能在特定语法结构中使用。 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 3) 还有大约30多个预定义的名字,比如int和true等,主要对应内建的常量、类型和函数。 内建常量: true false iota nil 内建类型: int ...阅读全文

博文 2016-04-18 05:00:02 betterjun30

go语言学习笔记之前言部分

前言 1、针对权限访问修饰符的规范 go语言要求public修饰的变量以大写字母开头 以private修饰的变量以小写字母开头 这样可以直接免除public和private关键字 2、花括号位置规范 if expression{ if expression ...... { ...... } } 这种是正确的写法 这种是错误的写法 3、go语言的错误处理机制优势,有error类型 4、用go语言模仿继承时,若充当父类的结构体a与充当子类的结构体b中有相同名称的属性v,在b调用a的方法输出v的值时,打印输出的会是父类属性值 例如下列代码: package main import "fmt" type Dog struct { name string } type BDog struct { D...阅读全文

博文 2015-09-17 07:00:00 zhaomingwei

golang笔记

查看文档 在本地浏览器查看文档 cmd中输入godoc -http=:8080 然后访问浏览器的localhost:8080 类型判断 首字母大写为public,首字母小写为private 内置关键字全部为小写 别名 import 别名 "包名" 类型转换 var a float =100.1 b := int(a) int转string:strconv包中的Itoa方法 string转int:strconv包中的Atoi方法 常量 const a int =1 内部常量命名 cMAX _MAX 指针 go语言有指针,但是不支持指针运算以及"->"运算符,直接采用"."选择符来操作指针目标对象 -操作符"&"取变量地址,使用"*"通过指针间接访问目标对象 -默认值为nil a:=1 var ...阅读全文

博文 2015-11-01 17:00:01 mitos_yggdrasill

golang plugin小谈

在1.8之前,如果我们想用第三方的库,只能获取到源码才可以,而不能使用编译后的代码,比如jar、dll、so文件。不过1.8中新加入了plugin包,我们可以通过这个包来实现调用、访问编译后方法和变量的功能,不过到目前版本(1.11.1)为止还不支持windows(几年没碰过这超恶心的os了,真嗨森。。。)。 plugin 是一个包含可导出(首字母大写)函数和变量的main包。当一个plugin首次被打开的时候,是在所有包中的init方法已经调用完成之后,main方法执行之前。一个plugin只会被初始化一次,并且不会被关闭。plugin的操作都是协程安全的。 下面我们将会举个例子说明plugin包如何使用(类型转换,函数传参调用,修改变量的值)。plugin.go: package mai...阅读全文

博文 2018-11-15 01:34:40 UUID

go 速学 - 02 - 包与可见性

目录 包与可见性 包 基本结构 别名 可见性规则 摘要 导入多个包,包的别名,可见性 包与可见性 包 基本结构 包的基本结构如下 //程序运行的入口是包 `main`。 package main //导入包 "fmt" 和 "math/rand" import ( "fmt" "math/rand" ) //或 import std "fmt" //指定别名 import "math" // 常量的定义 const PI = 3.14 // 全局变量的声明与赋值 var name = "gopher" // 一般类型声明 type newType int // 结构的声明 type gopher struct{} // 接口的声明 type golang interface{} // 函数的...阅读全文

博文 2015-06-18 09:02:17 mrseasons

go 语言学习 – 包的用法

用import 引入公共包或自己定义的包 类似 c 中的include ,按照教程,写了一个判断一个数是否是偶数的包 在当前目录下 mkdir even ,进入目录,vi even.go 写入如下代码 package even func Even(a int ) bool { state := false if a%2 == 0 { state= true } return state } 然后写一个测试程序 : package main import "./even" func main() { a:= 3 if even.Even(a) { println("is even") }else{ println("not a even") } } 两点要注意的地方,1 ,引入even 的函数...阅读全文

博文 2015-02-26 17:00:01 fx397993401

Golang json文件处理

JSON(Javascript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。JSON由于比XML更小、更快,更易解析,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。目前我们看到很多的开放平台,基本上都是采用了JSON作为他们的数据交互的接口。既然JSON在Web开发中如此重要,那么Go语言对JSON支持的怎么样呢?Go语言的标准库已经非常好的支持了JSON,可以很容易的对JSON数据进行编、解码的工作。 以如下JSON源文件为例...阅读全文

博文 2019-03-08 18:34:39 北春南秋

go学习【三】面向对象啊

说go的对象 其实有的牵强。其实他是面向接口。面向interface。。哈,前面说成面向对象了,就弄这个说法。但是他又不是面向对象中的 那个 面向接口编程。 go的接口很像一个面向对象的泛型类型。记住他是一个类型。可以被赋值,可以赋值。但同时它又是一个接口。只不过这个接口和以前我们所用的面向对象不一样的是,必须得定义接口,然后了类去实现接口。而go的接口思想是反过来了,相当于与这个类有哪些方法。然后我们定义了一个接口,这个接口有哪些方法。然后了这个类型就能赋值给这个接口。就这么简单。 也许说的不明白,上代码吧: type testInterface interface{ add(a,b int) int multiply(a,b int) int } 所有实现了 add 和multiply方...阅读全文

博文 2015-06-18 09:02:18 xming4321

Go语言学习 第三章 变量和常量 ③

### 3 命名 #### 3、1 Go语言关键字 > **Go 语言有25个关键字:** > > ```go > break default func interface select > case defer go map struct > chan else goto package switch > const fallthrough if range type > continue for import return var > ``` > > - var 和 const :变量和常量的声明 > - package 和 import : 导入 > - func: 用于定义函数和方法 > - return :用于从函数返回 > - defer :在函数退出之前执行 > - go : ...阅读全文

博文 2019-11-26 16:13:39 masterL

go语言正则表达式

我们前两节课爬取珍爱网的时候,用到了很多正则表达式去匹配城市列表、城市、用户信息,其实除了正则表达式去匹配,还可以利用goquery和xpath第三方库匹配有用信息。而我利用了更优雅的正则表达式匹配。下来大概介绍下正则表达式。 比如我们匹配城市列表的时候,会取匹配所有城市的url,如下: 可以看到图片后是小写字母加数字,那么就可以用以下方式提取: < ahref="(http://www.zhenai.com/zhenghun/[0-9a-z]+)"[^>]*>([^<]+) [0-9a-z]+表示匹配小写字母或者数字至少一次,1*表示匹配非>的字符任意次,然后2+表示匹配非<字符至少一次。我们要取到城市的url和城市名,所以对进行了分组。 通过以下方式就可以拿到url和city c...阅读全文

博文 2019-10-18 10:02:37 小碗汤

字符串中的第一个唯一字符

题目描述 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 示例 s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. 注意事项 您可以假定该字符串只包含小写字母。 思路 可以使用一个数组记录每个字符出现的次数。 既然只有小写字母,所以只需要26个空间便够用了。 先遍历一次字符串,然后记录每个字符出现的次数。 再从头遍历一次字符串,若该位置的元素只出现一次,返回该索引即可。 Java代码实现 class Solution { public int firstUniqChar(String s) { //由于只包含小写字母,所以26就够用了 char[] chars = new char[26]; for (int ...阅读全文

博文 2020-03-14 21:32:46 youzhihua

GoLang 字符转换

字符转换 目标: 使用Go语言,函数LetterChanges(str)将传递str参数,并使用以下算法对其进行修改。 用字母表中的字母替换字符串中的每个字母(即c变为d,z变为a)。 然后用这个新的字符串(a,e,i,o,u)中的每个元音大写,最后返回这个修改后的字符串。 func LetterChanges(str string) string { if len(str) == 0 { return "" } charArr := []rune(str) for index , value := range charArr{ if (value >= 65 && value <= 90) || (value >= 97 && value <= 122){ if value == 122 ...阅读全文

博文 2017-09-29 08:34:48 小立立

【Golang】封装,继承与多态

面向对象的基本思想主要体现在封装,继承以及多态等的设计与运用上。 这篇文章主要讲述,封装、继承与多态在golang中是如何实现的。 封装 封装主要是通过访问权限控制实现的。 在Java中,共有public 、protected、default、private这四种权限控制。 而相应的在golang中,是通过约定来实现权限控制的。变量名首字母大写,相当于java中的public,首字母小写,相当于private。同一个包中访问,相当于default。由于go没有继承,也就没有protected。 继承 虽然golang的语法没有继承,但是可以通过相应的结构体之间的组合来实现类似的继承效果。 例子如下: package main import "fmt" type inner struct { ...阅读全文

博文 2020-03-17 15:32:54 冉黛玉

Golang学习笔记1——基础知识

1.Go内置关键字和注释方法 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 2.Go程序的一般结构 //当前程序的包名 package main //导入其它的包 import "fmt" //全部变量的声明与赋值 var name = "gopher" //一般类型的声明 type newType int //结构的声明 type gopher struct{} //接口的声明 type golang interface{} //由...阅读全文

博文 2017-10-22 09:04:45 MarksGui

GO 语言中json的简单使用(实例)

package main import ( "encoding/json" "fmt" ) var ( str string = `{"name":"abc","Age":12}` ) //要转成json字符串的struct ,成员变量首字母一定要大写,这样输出的json字符串也是大写的 type User struct { Name string `json:"name"`//如果想要在json文本中的key名首字母不用大写,可以加上这个字符串说明 Age int Time int } func main() { var u User u.Name = "abc" u.Age = 12 b, e := json.Marshal(u) if e != nil { fmt.Println(e)...阅读全文

博文 2015-06-17 23:07:45 juxuny

Go

今天突然想学习下 go 语言,在服务器方面应用比较广泛,用了 A Tour of Go上面的教程,挺有意思的,很快就能掌握基本的语法和特点。 Go和C很像(有作者的原因?),除了没有分号,强制if语句带花括号,类型在名称后面,包里首字母大写的元素才在包外可见……基本上改进都是融合了实践中的最佳实践,例如导入包名用的是字符串而不是类似于标识符那样的字面量,因为包名可能会包含路径而路径可能有空格…… Go的主要优点还是在并发方面,准备下个JetBrains的IDE学习下(很喜欢它家的IDEA、PyCharm和Clion),用的教程是https://github.com/astaxie/build-web-application-with-golang/blob/master/zh/preface...阅读全文

博文 2017-06-29 13:07:27 haochenx

云集成化先进编排工具 Ciao-Go

Ciao取“ Cloud Integrated Advanced Orchestrator ”首字母命名,是一款云集成化先进编排工具。通过这套新方案,企业客户能够将各类元素汇聚至单一模式当中——包括云分析(例如[Hadoop](http://www.oschina.net/p/hadoop)或者[Apache Spark](http://www.oschina.net/p/spark-project))。Ciao中的全部通信皆使用简单与安全节点传输协议(简称SSNTP),同时利用TLS以保护不同组件间的连接安全。 Ciao项目本身拥有一套极为简洁的架构,其中包含的三大核心组成部分包括: * 控制器– 负责执行租户工作负载策略; * 调度器 – 由控制器管理以实现一套push/pul...阅读全文

开源项目 2016-08-29 04:00:05 01org

go语言学习-常量

下面一句摘自《Go语言编程》: “go语言中,常量是无类型的。只要这个常量在相应类型的值域范围内,就可以作为该类型的常量,比如常量-12,它可以赋值给int、int32、int64、float32、float64、complex64、complex128等类型的变量。” 注:个人理解,这里的“无类型”,个人理解是不固定类型,并不是真的没有类型。 1、常量定义:const go语言中常量定义和C++中的关键字一样,直接用const关键字定义。 不同的是,go中用const定义常量时,后面的常量类型不是必须的,个人感觉可以从2个方面理解: (1).如本文件开头所述,go语言中常量不固定类型,编译器自己根据等号右边的值确定类型; (2).也可以理解为const这个关键字和var类似,用关键字定义变...阅读全文

博文 2016-02-24 13:00:11 kuoshuang

Golang解LeetCode 804. 唯一摩尔斯密码词

804. 唯一摩尔斯密码词 题目描述 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。 为了方便,所有26个英文字母对应摩尔斯密码表如下: [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."] 给定一个单词列表,每个单词可以写成每个字母对应摩尔斯密码的组合。例如,"cab" 可以写成 "-...阅读全文

博文 2019-12-13 08:32:43 肥肥的大肥鹅

go语言学习心得2

Unmarshal json 2 custom define object 心得总结 according to test case, we reached the following conclusions: no mater what format of source json field value, (It may be a variety of situations as follows) 1. Initials: 'Devicetype' 2. ALL CAPS: 'DEVICETYPE' 3. All lowercase: 'devicetype' 4. Capitalize the first letter of each word: 'DeviceType' Unmarsha...阅读全文

博文 2016-08-14 17:00:04 lingyun1981

Golang文件名命名规则,不同环境下的编译,下划线的含义

Golang文件名命名规则 在golang源代码中,经常看到各种文件名,比如: bolt_windows.go。 下面对文件名命令规则的说明: 1、平台区分 文件名_平台。 例: file_windows.go, file_unix.go 可选为:windows, unix, posix, plan9, darwin, bsd, linux, freebsd, nacl, netbsd, openbsd, solaris, dragonfly, bsd, notbsd, android,stubs 2、测试单元 文件名test.go或者 文件名平台_test.go。 例: path_test.go, path_windows_test.go 3、版本区分(猜测) 文件名_版本号等。 例:tr...阅读全文

博文 2020-03-13 01:32:52 哆啦在这A梦在哪

Go语言学习(十四)面向对象编程-可见性

Go语言对关键字的增加非常吝啬,其中没有private、protected、public这样的关键 字。要使某个符号对其他包(package)可见(即可以访问)需要将该符号定义为以大写字母 开头,如: type Rect struct { X, Y float64 Width, Height float64 } 这样,Rect类型的成员变量就全部被导出了,可以被所有其他引用了Rect所在包的代码访问到。 成员方法的可访问性遵循同样的规则,例如: func (r *Rect) area() float64 { return r.Width * r.Height } 这样,Rect的area()方法只能在该类型所在的包内使用。 需要注意的一点是,Go语言中符号的可访问性是包级别的而不是类型级别的...阅读全文

go语言JSON处理

JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。JSON由于比XML更小、更快,更易解析,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。目前我们看到很多的开放平台,基本上都是采用了JSON作为他们的数据交互的接口。既然JSON在Web开发中如此重要,那么Go语言对JSON支持的怎么样呢?Go语言的标准库已经非常好的支持了JSON,可以很容易的对JSON数据进行编、解码的工作。 前一小节的运维的例子用j...阅读全文

博文 2016-10-06 04:00:03 tree2013

Go 语言学习笔记 -第1章 go概述

Go 语言学习笔记 -第1章 @(Golang) [toc] 学习方向 1、区块链研发 2、Go服务端 数据处理、处理大并发/游戏软件 3、Go分布式/云计算 应用领域 1、区块链应用 区块链技术,简称BT (Blockchain Technology)是一种互联网数据库技术,其特点是去中心化、公开透明、让每个人均可以参与数据库记录 2、后端服务器应用 美团后台流量支持程序:支撑主站后台流量(排序、推荐、搜索等),提供负载均衡、Cache、容错、按条件分流、统计运行指标(QPS、Latency)等 网游:游戏服务器(通讯、逻辑、数据存储) 3、云计算、云服务后台应用 盛大云CDN(内容分发网站):应用范围:CDN的调度系统、分发系统、监控系统、短域名服务、CDN内部开放平台、运营报表系统等其...阅读全文

博文 2020-01-08 19:32:41 Mark110

golang 学习笔记之字符串

golang 中字符串相关操作用得最多的基础库是 strings 和 strconv 1、strings.HasPrefix 判断字符串开头常见的场景是用来判断服务地址是HTTP还是HTTPS 协议,例如:func main() { str := "http://www.baidu.com" if ok := strings.HasPrefix(str,"http://");ok { fmt.Println("it's http protocol") }else{ fmt.Println("unknown") } }2、strings.HasSuffix 判断字符串后缀场景,用于判断文件类型,例如图片是否是png格式func main() { pic := "baidu.png" if ok...阅读全文

博文 2019-06-18 22:03:49 筑梦攻城狮

golang第四天

测试代码 hello.go package main import ( "net/http" "fmt" //"log" "os" "time" "sort" "log" "io/ioutil" "encoding/json" ) /** * 计数器 */ type Counter struct { n int } /** * 实现Handler接口中的ServeHTTP方法 */ func (c *Counter) ServeHTTP(w http.ResponseWriter, req *http.Request) { c.n++ fmt.Fprintf(w, "counter=%d\n", c.n) //请求返回的数据 } /** * json 结构体某字段的首字母为小写则不可导出 *...阅读全文

博文 2019-03-02 02:34:43 陌生人的头像

golang随机数

随机生成验证码 /** * size 随机码的位数 * kind 0 // 纯数字 1 // 小写字母 2 // 大写字母 3 // 数字、大小写字母 */ func krand(size int, kind int) []byte { ikind, kinds, result := kind, [][]int{[]int{10, 48}, []int{26, 97}, []int{26, 65}}, make([]byte, size) is_all := kind > 2 || kind < 0 rand.Seed(time.Now().UnixNano()) for i := 0; i < size; i++ { if is_all { // random ikind ikind = ...阅读全文

博文 2016-11-25 04:00:04 yang8023tao

第1课 go基础知识

//当前程序的包名 package main //导入其他的包 import ( "fmt" // "os" // "strings" // "time" ) //常量的定义 const ( PI = 3.14 ) //全局变量的声明与赋值 var name = "gopher" //一般类型的声明 type nameType int //结构的声明 type gopher struct{} //接口的声明 type golang interface{} //由 main 函数作为程序入口点启动 func main() { fmt.Println("Hello world!你好,世界!") } //Go 使用大小写来决定该常量,变量,类型,接口,结构或函数 是否可以被外部调用 //根据约定,...阅读全文

博文 2016-08-18 19:00:02 lhdalhd1996

GoDoc的使用

一. 约定 注释符//后面要加空格, 例如: // xxx 在package, const, type, func等关键字上面并且紧邻关键字的注释才会被展示 // 此行注释被省略 // 此行注释被展示 // // 此行注释被展示2 package banana type, const, func以名称为注释的开头, package以Package name为注释的开头 // Package banana ... package banana // Xyz ... const Xyz = 1 // Abc ... type Abc struct {} // Bcd ... func Bcd() {} 有效的关键字注释不应该超过3行 // Package banana ... // ... //...阅读全文

博文 2018-11-06 10:33:55 uncleyang

Go语言解析JSON

载: http://www.cnblogs.com/ycyoes/p/5398796.html 注意当解析到结构体的时候,结构体名、成员名字首字母一定要大写 这是容易犯的错误。 搞不懂为什么这东西要大写。 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('

    ').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ...阅读全文

博文 2016-04-20 16:00:01 Jesounao

golang 字符串操作实例

package main import s "strings"import "fmt" var p = fmt.Println func main() { p("Contains: ", s.Contains("test", "es")) //是否包含 true p("Count: ", s.Count("test", "t")) //字符串出现字符的次数 2 p("HasPrefix: ", s.HasPrefix("test", "te")) //判断字符串首部 true p("HasSuffix: ", s.HasSuffix("test", "st")) //判断字符串结尾 true p("Index: ", s.Index("test", "e")) //查询字符串位置 1 p("...阅读全文

博文 2017-12-27 01:47:51 zr_go

2.蛤蟆笔记go语言——包

2.蛤蟆笔记go语言——包 每个 Go 程序都是由包组成的。 程序运行的入口是包 main。 这个程序使用并导入了包 "fmt" 和"math/rand"。 按照惯例,包名与导入路径的最后一个目录一致。例如,"math/rand" 包由 package rand 语句开始 代码 package main import ( "fmt" "math/rand" ) func main() { fmt.Println("Myfavorite number is", rand.Intn(10)) } 执行如下: Myfavorite number is 1 导入 代码用圆括号组合了导入,这是“打包”导入语句。 同样可以编写多个导入语句,例如: import "fmt" import "math" 不...阅读全文

博文 2016-06-17 00:00:02 notbaron

golang的小总结

载:http://www.liguosong.com/2013/07/07/golang%E7%9A%84%E5%B0%8F%E6%80%BB%E7%BB%93/ var 创建变量 const 创建常量 iota 这个关键字用来声明enum的时候采用,它默认开始值是0,每调用一次加1 map 也就是Python中字典的概念,它的格式为map[keyType]valueType map的读取和设置也类似slice一样,通过key来操作,只是slice的index只能是`int `类型,而map多了很多类型,可以是int,可以是string make 用于内建类型(map、slice和channel)的内存分配 new 用于各种类型的内存分配 goto 跳转到必须在当前函数内定义的标签 func...阅读全文

博文 2015-06-17 20:05:14 yugongpeng_blog

go语言的安装和配置,以及包引用

1.下载和安装 首先大家可以去官网下载 http://golang.org/dl/ 如果官网你看不懂的话,可以到这里下载: http://golangtc.com/download ,这里也提供了百度云的下载地址: 如果下载msi文件还需要进一步安装,安装过程也非常简单; 如果下载zip文件,直接解压了就可以用了。 2.配置 打开环境变量 然后, 紧接着编辑Path 打开cmd命令行,输入:go 如果显示 就表示成功了。 然后就可以编程了,咱们来写个“Hello world”: 我用的是Sublime Text 编译器, 然后运行: 或者 很好,我们成功的输出了Hello world! 3.包引用(下面内容来源于:http://www.cnblogs.com/sunshiming/p/492...阅读全文

博文 2016-10-05 03:00:02 sangjinchao

go注意事项

1. go项目中,gopath下的scr的文件夹就是包,因此在import时实际是按src下的目录结构来import的 2. 从网上clone下来的项目可能需要根据其中的包来判断其gopath的结构,随后构造该目录结构即可运行该项目 3. 在环境变量中设置了GOPATH,但是在go build时依旧报没有GOPATH,则需要使用 GOPATH=$GOPATH go build 来完成build 4. interface的断言操作(类型转换),q为interface变量,b为转换后的对象-> b, ok := q.(*x) 5. 类复用 type x struct { a string } func (x1 *x)run() { fmt.Println("x run, a is:", x1.a...阅读全文

【GoLang那点事】为什么要学习Go语言?

#### 从Go的背景,现状,应用谈谈为什么需要学习Go * Go语言是Google开发的一种静态强类型,编译型,并发型,并且支持垃圾回收功能跨平台的编程语言。 * Go的三位创始人:罗伯特格瑞史莫(Robert Giresemer),罗勃 · 派克(Rob Pike)以及肯 · 汤普逊(Ken Thompson)(自行百度这三位人的背景)。 * Go与2009年11月正式推出,成为开放源代码项目,并在Linux以及MaxOSX平台进行了实现,后来追加了Windows系统下的实现, 在2016年,Go被软件评价公司TIOBE 选为“TIOBE 2016 年最佳语言”,目前每隔半年发布一次新的迭代,最新版本是Go1.12。 * 使用Go的项目:docker,etcd,k8s cores 、、、...阅读全文

博文 2019-07-21 15:45:20 SunPengWei

第1课 go基础知识

//当前程序的包名 package main //导入其他的包 import ( "fmt" // "os" // "strings" // "time" ) //常量的定义 const ( PI = 3.14 ) //全局变量的声明与赋值 var name = "gopher" //一般类型的声明 type nameType int //结构的声明 type gopher struct{} //接口的声明 type golang interface{} //由 main 函数作为程序入口点启动 func main() { fmt.Println("Hello world!你好,世界!") } //Go 使用大小写来决定该常量,变量,类型,接口,结构或函数 是否可以被外部调用 //根据约定,...阅读全文

博文 2016-08-30 23:00:00 lhdalhd1996

Go语言探险思考笔记(1)

最近接触对象存储,国际上鼎鼎有名的Amazon S3还有Google Cloud Service在国内由于防火墙还有机房过远的问题,并不能投入生产使用。国内有名的对象存储,大家众所周知的七牛云,后台就是Go语言实现的。对于第一个敢吃螃蟹的人,我一直很佩服。于是抱着憧憬的心态走进Go语言的大门。 首先,接触一门语言,就从最啰嗦但是最不能缺少的基础语法和顺序变成开始。对于接触这些,我一般是从搭建好自己的编译构建环境开始,首先下载Go语言SDK,国内下载地址:http://golangtc.com/download 我这里用的是最新的1.7.2,如果你要用IDEA 的go plugin进行编程,则需要用1.4.2,不能用高版本的。之后,下载LiteIDE,进行编码:http://www.golan...阅读全文

博文 2016-11-29 07:00:08 zhxdick

第1课 go基础知识

//当前程序的包名 package main //导入其他的包 import ( "fmt" // "os" // "strings" // "time" ) //常量的定义 const ( PI = 3.14 ) //全局变量的声明与赋值 var name = "gopher" //一般类型的声明 type nameType int //结构的声明 type gopher struct{} //接口的声明 type golang interface{} //由 main 函数作为程序入口点启动 func main() { fmt.Println("Hello world!你好,世界!") } //Go 使用大小写来决定该常量,变量,类型,接口,结构或函数 是否可以被外部调用 //根据约定,...阅读全文

博文 2016-08-31 09:00:02 lhdalhd1996

go struct 与 json

go struct 与 json https://golang.org/pkg/encoding/json/#pkg-index 成员标签-tag https://sosedoff.com/2016/07/16/golang-struct-tags.html Only data structures that can be represented as valid JSON will be encoded: JSON objects only support strings as keys; to encode a Go map type it must be of the form map[string]T (where T is any Go type supported by the ...阅读全文

go语言JSON处理

JSON(JavaScript Object Notation)是一种轻量级的数据交换语言,以文字为基础,具有自我描述性且易于让人阅读。尽管JSON是Javascript的一个子集,但JSON是独立于语言的文本格式,并且采用了类似于C语言家族的一些习惯。JSON与XML最大的不同在于XML是一个完整的标记语言,而JSON不是。JSON由于比XML更小、更快,更易解析,以及浏览器的内建快速解析支持,使得其更适用于网络数据传输领域。目前我们看到很多的开放平台,基本上都是采用了JSON作为他们的数据交互的接口。既然JSON在Web开发中如此重要,那么Go语言对JSON支持的怎么样呢?Go语言的标准库已经非常好的支持了JSON,可以很容易的对JSON数据进行编、解码的工作。 前一小节的运维的例子用j...阅读全文

博文 2016-10-11 03:00:31 tree2013

go学习笔记

本博客知识记录自己学习中的笔记或者记录,如果有错误欢迎大家纠正。 学习golang 想用来做游戏服务端语言,从头开始,go!go!go! go程序是通过package来组织包 ,有且仅有一个main包里面有一个main函数, // package在非注释第一行,不然编译不过。 package main //导入其他包 import “fmt” //常量 定义 const const Pi =3.14 //全局变量 var var name =”gopher” //可以在这个包中使用 //一般类型声明 type type newType int //结构的声明 type 结构名 struct{} type goher struct{} //接口的声明 type 接口名 interface{} ...阅读全文