E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
goLang学习
golang学习
第一篇 golang简介
golang简介很久没写博客了,最近在学golang。为了总结学习经验,博客又派上用场了。golang是由谷歌的三位大牛发明并开源出来的,具体哪三位请大家自行搜索。博主使用过这些计算机语言:C/C++、VB、C#、PHP、javascript、python、erlang。目前使用erlang从事即时通讯后台开发,期间也接触一些golang的开源项目。虽然很早就了解过golang,但没系统的学习过。
letian0805
·
2016-05-08 01:00
net
golang
[置顶]
Golang学习
摘录(二)
Golang学习
二Fullsliceexpressions切片操作Pythona[low:high:direction]比如a=[1,2,3],a[1:2:-1]负1表示反方向,结果是[3,2]Golang
secretx
·
2015-11-30 16:00
golang
Golang学习
笔记:包制作
golang的包跟javaasjs之类的大不一样,一定要存在GOPATH里面,GOPATH是专门用于存放golang第三方的库,里面有两个文件夹,src:源代码目录pkg:编译后的第三方包,这个是goinstall的时候生成的,不能手动去改这两个文件夹有相同的文件结构,如下: 我们要制作自己的代码库的话,那么就要到src下面新建自己的包,这里的文件的包名应该都是一致的。例如,我在src下面新建一个
Ado_On
·
2015-11-23 19:00
[置顶] Golang 学习摘录(一)
Golang学习
摘录(一)学过C,python,或者Java之类语言再来学习golang应该是无压力,看看语法就能写。
secretx
·
2015-11-17 18:00
golang
Golang学习
笔记 (一)
小记一下go的语法,风格关于Exportednames,首字母不是大写的都不能作为输出。也不能被导入到另一个包中然后使用。int型在32位系统上为32位,在64位系统上为64位,和C一样。Variablesdeclaredwithoutanexplicitinitialvaluearegiventheirzerovalue.变量未被赋值时:0fornumerictypes,falsethebool
yuans_f
·
2015-11-08 17:06
学习笔记
[
golang学习
] 在idea中code & debug
idea 虽然审美倒退了n年. 不过功能还是相当好用的. idea 的go插件堪称最好的go ide. 1. 语法高亮支持 2. 智能提示 3. 跳转定义(反跳转回来) 4. 集成debugger 还有重构等等功能也不错. 这些都是用起来让人很舒服的功能. 你要是用vim/emacs/sublime啥的. 当我没说. 很多人可能都不知
·
2015-11-08 13:29
golang
[
golang学习
] goroutine调度
这两天有些闲功夫, 学习下golang, 确实非常简洁. 不过有些缺憾. 在我的测试中. golang的调度(goroutine)似乎不是非常好. func say(k int) { fmt.Println(k) } func main() { runtime.GOMAXPROCS(2) for i := 0; i
·
2015-11-08 13:28
golang
个人犯的一个golang routine错误
今天把疑惑发到群里,经过
golang学习
班的童鞋的指点,发现我一个常用的错误。
·
2015-10-31 11:43
golang
Golang学习
笔记 - 【杂项】格式化时间成datetime
用Golang或者Beego,总需要往数据库里写datetime时间戳。Golang对时间格式支持并不理想。先看一个例子:packagemainimport("fmt""time")funcmain(){t:=time.Now()fmt.Println(t)t1:=time.Now().Format("2006-01-0215:04:05")fmt.Println(t1)}Format里必须用“2
9命怪猫
·
2015-10-29 09:25
Go
Golang学习
笔记 - 【杂项】格式化时间成datetime
用Golang或者Beego,总需要往数据库里写datetime时间戳。Golang对时间格式支持并不理想。先看一个例子:packagemain import( "fmt" "time" ) funcmain(){ t:=time.Now() fmt.Println(t) t1:=time.Now().Format("2006-01-0215:04:05") fmt.Println(t1)
972301
·
2015-10-29 09:00
数据库
mysql
Go
Golang学习
笔记:语言规范二
类型转换形式为T(x),T是一种类型,x是目标类型表达式。示例*Point(p)//sameas*(Point(p)) (*Point)(p)//pisconvertedto*Point >1//illegal(float64(2)isatypedfloating-pointconstant) consth="foo">"bar"//h==true(untypedbooleanconstant)
scherrer
·
2015-10-17 18:00
golang
语言规范
Golang学习
笔记:语言规范之声明与作用域
类型声明包括:常量、自定义类型、变量、函数、标签、还有包声明。程序中的标识符都必须声明。块、包、文件中的标识符不能重复。Declaration=ConstDecl|TypeDecl|VarDecl. TopLevelDecl=Declaration|FunctionDecl|MethodDecl.标签作用域标签是在标签语句中使用,常用在break、continue、goto语句中。定义了标签但不使
scherrer
·
2015-10-17 15:00
声明
golang
Golang学习
笔记:语言规范之类型(续)
类型(续)指针类型指针类型表示所有给定类型的指针变量,也称为基础类型的指针,默认未初始化的指针类型值为nil。PointerType="*"BaseType.BaseType=Type.*Point*[4]int函数类型函数类型表示拥有相同参数和返回值类型的函数,未初始化的函数类型变量的值为nil,定义如下FunctionType="func"Signature.Signature=Paramet
Schele
·
2015-10-17 11:33
Go
Golang
类型
Golang学习
笔记:语言规范之词汇元素和类型
引言Golang参考手册,更多内容请参考http://golang.org语言规范参考自https://golang.org/ref/spec词汇元素注释行注释://commentcontent段注释:/*commentcontent*/符号符号有4类:标识符、关键字、操作符和分隔符、字面常量分号golang中,分号可省略标识符标识符即程序中的变量和类型,有一个或多个字母或数字组成,第一个字母必须
Schele
·
2015-10-11 15:13
Go
golang
语言规范
Golang学习
笔记:语言规范之词汇元素和类型
引言Golang参考手册,更多内容请参考http://golang.org语言规范参考自https://golang.org/ref/spec词汇元素注释行注释://commentcontent段注释:/*commentcontent*/符号符号有4类:标识符、关键字、操作符和分隔符、字面常量分号golang中,分号可省略标识符标识符即程序中的变量和类型,有一个或多个字母或数字组成,第一个字母必须
scherrer
·
2015-10-11 15:00
golang
语言规范
Golang学习
书籍和论坛推荐
工欲善其事,必先利其器,学习之前我找了一些书籍和论坛,在此共享之!1学习论坛推荐http://studygolang.com/http://golanghome.com/2学习书籍推荐书籍链接为:http://download.csdn.net/detail/nyemutou/8813849里面包含了国内外书籍共8本,其中不乏Go入门和Go云动力等,希望对大家有所帮助!
爱码人
·
2015-06-16 23:32
golang
golang
go云动力
go入门
golang学习
(二)
概述: Go 是静态类型语⾔言,不能在运⾏行期改变变量类型。 基本语法: 一.变量 使⽤用关键字 var 定义变量,默认初始化为零。如果提供初始化值,变量类型可以省略,类型有编译器自动推断。 在方法内部,可以用更简略的 ":=" 方式定义变量
hiaward08
·
2015-06-03 17:00
go 变量 常量
Golang学习
笔记--log包
个人站:http://www.cloudnoter.com一、快速使用Golang的log包短小精悍,可以非常轻松的实现日志打印转存功能。不用多说,log支持并发操作(即协程安全-相对于JAVA中的线程安全而言),其结构定义如下:typeLoggerstruct{musync.Mutex//ensuresatomicwrites;protectsthefollowingfieldsprefixst
cza55007
·
2015-05-27 00:37
Go
golang学习
第一课
这两天陆续学习下go语言,毕竟语言较年轻,周边的生态还不够成熟,就拿ide来说吧,相比较idea,还待打磨,不过用sublime或者atom基本编码够用,对于学习一门新语言,环境配置很重要,同时如何快速入门,如何不被各种新东西弄的无从下手,切忌一点,不要光看不练,还是从基础下手, 开发环境配置,GOROOT/GOPATH配置,特别是GOPATH,要深入理解下,不同项目可以多个,说到这里,又是一个坑
xylong
·
2015-05-13 19:00
Go
example
Golang学习
笔记--flag包
原文链接:http://www.cloudnoter.com/?p=131flag包是用来处理命令参数的。总得来说,其通过将命令行标志与某一具体变量进行绑定,开发人员通过使用该变量进行业务逻辑处理。一、FlagSet是该包的核心类型:typeFlagSetstruct{//Usageisthefunctioncalledwhenanerroroccurswhileparsingflags.//Th
cza55007
·
2015-02-14 13:49
Go
【GoLang笔记】A Tour of Go - Exercise: Web Crawler
本文是
GoLang学习
教程中的一道习题,具体题目要求及代码实现如下。备注:由于天朝GFW屏蔽了GAE,所以GoLang官网及学习教程需要才能访问。
slvher
·
2015-02-01 16:45
GoLang
GoLang
初探Golang顺序编程概念
Golang学习
笔记,便于自己后续查看。变量变量是几乎所有编程语言中最基本的组成元素。
q454684431
·
2015-01-27 17:00
docker
Go
使用
golang学习
算法(1)-排序
前言终于感觉到算法的重要了。于是打算继续学习下。其实算法跟语言没有啥关系,用啥语言都可以实现关键是思路,最近正好在学习golang。打算把算法的编写使用golang完成。没有使用IDE,使用的是sublime2+golang的插件,然后使用命令行进行编译。开发效率也不低,也支持语言的自动补齐。搭建环境【http://blog.csdn.net/freewebsys/article/details/
哭你吃完
·
2014-11-14 09:00
golang
搭建go tour(go指南)
Google在golang.org和appspot上分别搭建了基于浏览器的交互式Go编程指南-gotour,便于
golang学习
.但由于中国特色的网络环境无法正常访问,so决定自己搭建一个gotour.
陈好
·
2014-10-20 13:00
Golang学习
http://code.google.com/p/golang-china/wiki/Installhttp://blog.csdn.net/wenfanhugh/article/details/8144985http://golang.so/http://tip.golang.so/http://blog.studygolang.com/
·
2014-10-08 23:00
golang
golang学习
的点点滴滴:并发超时处理
golang并没有在语言层次上提供超时操作,但可以通过一些小技巧实现超时。原理:并发一个函数,等待1s后向timeout写入数据,在select中如果1s之内有数据向其他channel写入则会顺利执行,如果没有,这是timeout写入了数据,则我们知道超时了。package main import "fmt" import "time" func main() { ch := make(cha
亓斌哥哥
·
2014-10-01 10:00
golang学习
的点点滴滴:channel缓冲区
创建带有缓冲区的channel:ch:=make(chanint,10)则该缓冲区最多可以不断接收10次写入,然后10次读出package main import "fmt" import "strconv" func main() { ch := make(chan int, 10) // 创建一个具有10个缓存区的channel for { select { case ch <- 1
亓斌哥哥
·
2014-10-01 10:00
golang学习
的点点滴滴:锁的使用
package main import ( "fmt" "sync" "runtime" ) var counter int = 0 func Count(lock *sync.Mutex) { lock.Lock() counter++ fmt.Println(counter) lock.Unlock() } func main() { lock := &sync.Mutex{} fo
亓斌哥哥
·
2014-09-30 22:00
golang学习
的点点滴滴:接口组合
package main import "fmt" type IReader interface { Read(file string) []byte } type IWriter interface { Write(file string, data []byte) } // 接口组合, 这些默认就继承了Reader和Writer中的抽象方法 type IReadWriter inter
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:类型查询
package main import "fmt" func main() { var i interface {} = 12 switch v := i.(type) { case int : fmt.Println(v, "int 类型") case string : fmt.Println(v, "string 类型") } }
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:接口
package main // 定义一个接口 // 有两个方法 // 注意:方法不能加func type IFile interface { Read(file string) (buf []byte) Write(file string, buf []byte) } type IReader interface { Read(file string) (buf []byte) } typ
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:接口复制和接口查询
package main import "fmt" type IFile interface { Read() Write() } type IReader interface { Read() } type File struct { } func (f *File) Read() { } func (f *File) Write() { } func main() { f
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:struct匿名字段
package main import "fmt" type Base struct { Name string Age int } type Child struct { Base // 匿名字段, 默认把Base的所有字段都继承过来了。 这样看起来才像真正的继承 Age int } func main() { c := new(Child) c.Name = "hello" // 可以
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:匿名字段
定义一个struct,定义的时候是字段名与其类型一一对应,实际上Go语言支持只提供类型,而不写字段名的方式,也就是匿名字段,或称为嵌入字段。当匿名字段是一个struct的时候,那么这个struct所拥有的全部字段都被隐式地引入了当前定义的这个struct。让我们来看一个例子,让上面说的这些更具体化。packagemainimport"fmt" typeHumanstruct{ namestri
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:利用组合实现继承
package main import "fmt" type Base struct { Name string } func (b *Base) SetName(name string) { b.Name = name } func (b *Base) GetName() string { return b.Name } // 组合,实现继承 type Child struct { b
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:读写文件(面向对象版)
package main import ( "fmt" "bufio" "io" "os" "flag" "strconv" ) // 定义一个结构体 type ReadWrite struct { In *string Out *string } // 定义初始化方法 func (rw *ReadWrite) Init() { rw.In = flag.String("in", "in"
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:读写文件(面向过程版)
package main import ( "fmt" "bufio" "io" "os" "flag" "strconv" ) // 使用命令行 -in 默认为infile var in *string = flag.String("in", "infile", "input file name ...") var out *string = flag.String("out", "outf
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:range使用总结
1、当range作用于string时,第一个返回值为index,第二次是char str:="helloworld"forindex,ch:=rangestr{fmt.Printf("%d---%c\n",index,ch)}2、当range作用于array时,第一个返回值为index,第二次是valuefuncPrintArray(array[5]int){forindex,res
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:flag包解析命令行参数
import ( "fmt" "flag" ) func main() { var in *string = flag.String("in", "infile", "input infile...") var out *string = flag.String("out", "outfile", "input outfile...") var op *string = flag.String(
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:异常处理 defer, panic, recover
Go语言追求简洁优雅,所以,Go语言不支持传统的try…catch…finally这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为0了)。才使用Go中引入的Ex
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:指针,地址,形参,实参
学习Go语言的过程中,会发现它的指针,地址,还有函数参数跟平常我们理解的不太一样.上代码:packagemain //学习指针用法 import( "fmt") funcmain(){ variint; //i的类型是int型 varp*int; //p的类型是[int型的指针] i=1; //i的值为1; p=&i; //p的值为[i的地
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:异常机制
func main() { // defer 必须在异常抛出之前 // 下面如果有异常抛出(或人为panic) // 则停止往下执行,跳转到defer后的代码块进行收尾工作 // 即便不会抛出异常,最后也会执行defer后的代码进行收尾 // 用recover处理异常信息,当err为空时,则证明没有任何异常抛出 // 如果不为空,则进行异常处理 defer func() { if err := r
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:闭包
func main() { j := 10 a := func() (func()) { i := 5 return func() { fmt.Println("i = ", i , "j = ", j) } }() a() j++ a() b := func(f func())(func()) { f() return func() { fmt.Println("heihei") } }
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:匿名函数
import ( "fmt" "errors" ) func main() { f := func(a, b int) (res int, err error) { if b < 0 { err = errors.New("err") return } res = a + b return } res, err := f(1, 2) if nil == err { fmt.Println(r
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:可变参数2(interface)
func main() { Print(1, "hello", 55.9) } // 表示可以传任意值 func Print(args ...interface{}) { for _, res := range args { switch res.(type) { case int : fmt.Println(res, " is int") case float64 : fmt.Println(
亓斌哥哥
·
2014-09-29 22:00
golang学习
的点点滴滴:函数的使用
package main import ( "fmt" "errors" ) func main() { res, err := Add(1, 2) if nil == err { fmt.Println(res) } _, e := Add(1, -5) fmt.Println(e) } func Add(a, b int) (res int, err error) { if b <
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
的点点滴滴:可变参数的使用
func main() { Func1(1,2,3,4) } func Func1(args ...int) { for _, res := range args { fmt.Println(res) } Func2(args...) Func3(args[2:]...) } func Func2(args ...int) { fmt.Println("----") for _, res :
亓斌哥哥
·
2014-09-29 21:00
golang学习
的点点滴滴:for使用
func main() { i := 0 for { i++; if i > 10 { break; } fmt.Println(i) } fmt.Println("-----------") arr := [5]int {1,2,3,4,5} for i, j := 0,len(arr)-1;i
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
的点点滴滴:if、switch使用
func main() { if a := 0; a==0 { fmt.Println(a) } fmt.Println("-----") b := 0 switch b { case 1 : fmt.Println(1) case 0 : fallthrough case 2 : fmt.Println("heihei") } fmt.Println("-----") switch {
亓斌哥哥
·
2014-09-29 21:00
Google
Go
golang
golang学习
的点点滴滴:map使用
package main import "fmt" type Person struct { ID string Name string Addr string } func main() { var persons map[string] Person = make(map[string] Person) persons["123"] = Person {"123", "heihei",
亓斌哥哥
·
2014-09-29 21:00
Google
go;golang
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他