-
Go by Example: Hello World
所属栏目:[大数据] 日期:2020-12-16 热度:82
我们第一个程序将打印出经典消息“Hello world”。这里是全部的源码 package mainimport "fmt"func main() { fmt.Println("hello world")} 为了运行程序,将代码写入 hello-world.go文件。使用go run 命令执行。 $ go run hello-world.gohello world 有时候[详细]
-
Go by Example: Values
所属栏目:[大数据] 日期:2020-12-16 热度:90
Go 有多种值的类型包括字符型(string),整形(intergers),浮点型(floats),布尔型(booleans)等。这里有一个简单的例子。 import "fmt"func main() { //字符型可以使用"+"进行连接; fmt.Println("go" + "lang") //整形和浮点型。 fmt.Println("1+1 =",1+1) fmt.[详细]
-
Go by Example: Variables
所属栏目:[大数据] 日期:2020-12-16 热度:54
在Go语言中,所有的变量都是显示声明的。编译器会使用变量进行相应的操作,例如:在函数调用时进行类型检查。 package mainimport "fmt"func main() { //使用var声明单个或者多个变量 var a string = "initial" fmt.Println(a) //你也可以一次声明多个变量 va[详细]
-
golang断言的使用(Type Assertion)
所属栏目:[大数据] 日期:2020-12-16 热度:132
golang的语言中提供了断言的功能。golang中的所有程序都实现了interface{}的接口,这意味着,所有的类型如string,int,int64甚至是自定义的struct类型都就此拥有了interface{}的接口,这种做法和java中的Object类型比较类似。那么在一个数据通过func funcName[详细]
-
golang编译过程的一个奇怪问题
所属栏目:[大数据] 日期:2020-12-16 热度:158
在编译golang程序的时候,出现如下错误: cannot create nil/go.o: No such file or directory make: *** [build/mds] Error 2 错误原因 go build的时候会创建临时文件,猜测与临时目录相关的问题,查看了下源代码 [src/cmd/ldlib.c 652-675]static voidhost[详细]
-
Go by Example: Constants
所属栏目:[大数据] 日期:2020-12-16 热度:113
Go语言支持 字符、字符串、布尔型和数字类型变量的常量。 package mainimport "fmt"import "math"//使用关键词const声明一个常量const s string = "constant"func main() { fmt.Println(s) // 任意一个var声明可以出现地方都可以使用const声明 const n = 500[详细]
-
golang模拟web上传
所属栏目:[大数据] 日期:2020-12-16 热度:174
最近都在学习golang的内容,今天写了点东西。 学习是基于网上的一些文章。不过功能是全新的 1)实现golang请求Get 2)实现post登陆 3) 实现web上传(基于pp.sohu.com) 代码实现: package mainimport ("base""bytes""fmt""io""io/ioutil""log""mime/multipar[详细]
-
Golang flag包使用详解(一)[转]
所属栏目:[大数据] 日期:2020-12-16 热度:64
概述 flag包提供了一系列解析命令行参数的功能接口 命令行语法 命令行语法主要有以下几种形式 - flag / /只支持bool类型 - flag=x - flag x / /只支持非bool类型 以上语法对于一个或两个‘-’号,效果是一样的,但是要注意对于第三种情况,只支持非bool类型[详细]
-
Go by Example: For
所属栏目:[大数据] 日期:2020-12-16 热度:175
For循环是Go语言唯一的循环结构。这里有三种基本的循环类型。 package mainimport "fmt"func main() {// 最基本的一种,单一条件循环// 这个可以代替其他语言的while循环i := 1for i = 3 {fmt.Println(i)i = i + 1}// 经典的循环条件初始化/条件判断/循环后[详细]
-
Go by Example: If/Else
所属栏目:[大数据] 日期:2020-12-16 热度:57
Go语言中的If和else的分支结构非常清晰明了。 package mainimport "fmt"func main() { // 这是一个基本的例子 if 7%2 == 0 { fmt.Println("7 is even") } else { fmt.Println("7 is odd") } // 只有if条件的情况 if 8%4 == 0 { fmt.Println("8 is divisible[详细]
-
【转载】Go语言设计模式实践:迭代器(Iterator)
所属栏目:[大数据] 日期:2020-12-16 热度:187
原文:http://www.cnblogs.com/newgame/p/4061083.html 关于本系列 决定开个新坑。 这个系列首先是关于Go语言实践的。在项目中实际使用Go语言也有段时间了,一个体会就是不论是官方文档、图书还是网络资料,关于Go语言惯用法(idiom)的介绍都比较少,基本只[详细]
-
golang 利用http.Client POST数据
所属栏目:[大数据] 日期:2020-12-16 热度:159
package mainimport ("fmt""io/ioutil""net/http""net/url""strings")func main() {v := url.Values{}v.Set("huifu","hello world")body := ioutil.NopCloser(strings.NewReader(v.Encode())) //把form数据编下码client := http.Client{}req,_ := http.NewRe[详细]
-
Golang 一些小例——反射
所属栏目:[大数据] 日期:2020-12-16 热度:120
package mainimport ( "fmt" "reflect")type A struct { B Name string Age int UseTool bool}type B struct { C Name1 string Age1 int UseTool1 bool}type C struct { Name2 string Age2 int UseTool2 bool}func main() { m := B{C{"aa",12,true},"aa",tru[详细]
-
Go 语言的传参和传引用
所属栏目:[大数据] 日期:2020-12-16 热度:67
传参和传引用问题,在golang 的一些教材中多有描述,现在再温习一遍 Golang的函数调用参数全部是传值得,包括 slice/map/chan 在内的所有类型,没有传引用的说法 所有类型的函数参数都是传值的,包括slice/map/chan等基础类型和自定义的类型 但是因为 slice[详细]
-
[leetcode] wordsearch
所属栏目:[大数据] 日期:2020-12-16 热度:69
problem: https://oj.leetcode.com/problems/word-search/ 代码:https://play.golang.org/p/d5wP691Pbg package mainimport ( "fmt")func main() { arr := [][]byte{ {'A','B','C','E'},{'S','F','S'},{'A','D','E',} //word := []byte("ABCESC") word := [[详细]
-
Go by Example: Switch
所属栏目:[大数据] 日期:2020-12-16 热度:157
Switch声明通过众多分支来表达条件判断。 package mainimport "fmt"import "time"func main() { // 基础的switch用法 i := 2 fmt.Print("write ",i," as ") switch i { case 1: fmt.Println("one") case 2: fmt.Println("two") case 3: fmt.Println("three")[详细]
-
Go by Example: Arrays
所属栏目:[大数据] 日期:2020-12-16 热度:148
Go语言的数组是一个定长的序列,数组包含的元素的类型相同。 package mainimport "fmt"func main() { // 这里我们创建了一个具有5个元素的整型(int)数组 // 元素的数据类型和数组长度都是数组类型的一部分 // 默认情况下,数组元素都是零值。 // 对于整数,[详细]
-
golang学习笔记[1] 基础知识
所属栏目:[大数据] 日期:2020-12-16 热度:102
golang发现就很好玩。 很久没有写日志了,继续恢复吧。 // one project main.gopackage mainimport ("errors""fmt""math""os")func main() {/*Go语言基础类型布尔类型:bool整型:int,int8,int16,int32,int64,uint,uint8,uint16,uint32,uint64,byte,uintptr[详细]
-
golang install命令使用
所属栏目:[大数据] 日期:2020-12-16 热度:120
注意,要在src新建文件夹,然后再文件夹内建立*.go才可以使用install,不能直接在src内部建go文件 参照:http://docscn.studygolang.com/doc/code.html[详细]
-
抓取历年天气
所属栏目:[大数据] 日期:2020-12-16 热度:199
使用goquery抓取天气的demo。数据量有点多。目前按省份存储天气数据。存储到csv文件中。 package mainimport ("code.google.com/p/mahonia""encoding/csv""fmt""github.com/PuerkitoBio/goquery""net/http""os""strings""time")var log = loger.Loger{Level:[详细]
-
测试golang中的多核多线程
所属栏目:[大数据] 日期:2020-12-16 热度:61
"并发 (concurrency)" 和 "并行 ( parallelism)" 是不同的。在单个 CPU 核上,线程通过时间片或者让出控制权来实现任务切换,达到 "同时" 运?多个任务的?的,这就是所谓的并发。但实际上任何时刻都只有一个任务被执行,其他任务通过某种算法来排队。多核 CPU[详细]
-
Golang-并发详解
所属栏目:[大数据] 日期:2020-12-16 热度:169
多核处理器越来越普及。有没有一种简单的办法,能够让我们写的软件释放多核的威力?是有的。随着Golang,Erlang,Scala等为并发设计的程序语言的兴起,新的并发模式逐渐清晰。正如过程式编程和面向对象一样,一个好的编程模式有一个极其简洁的内核,还有在此之[详细]
-
Golang Go语言结构体中匿名字段暴露方法的优先级
所属栏目:[大数据] 日期:2020-12-16 热度:120
Golang Go语言结构体中匿名字段暴露方法的优先级 Go语言的结构体中可以包含匿名的字段,比如: struct { T1 // 字段名自动为 T1 *T2 // 字段名自动为 T2 P.T3 // 字段名自动为 T3 *P.T4 // 字段名自动为 T4 x,yint // 非匿名字段 x , y} 如果构体 S,包含一[详细]
-
Go编程——变量、函数导出与首字母大写
所属栏目:[大数据] 日期:2020-12-16 热度:84
Go编程——变量、函数导出与首字母大写 标识符可被 导出 以允许从另一个包访问。 同时符合以下条件即为已导出标识 1、标识符名的第一个字符为Unicode大写字母(Unicode类别“Lu”); 2、该标识符在包块中已声明或为字段名或方法名。 以程序导入gotest/even[详细]
-
golang学习笔记[2] 面向对象OOP
所属栏目:[大数据] 日期:2020-12-16 热度:199
// one project main.gopackage mainimport "fmt"//为int类型起个别名Integertype Integer intfunc (a Integer) More(b Integer) Integer {return a - b}func Modify_arr(arr [3]int) {//数组是值类型,传进函数里面的是拷贝的那份arr[0] = 500}func Modify_[详细]
