-
Golang 用指定网卡的IP发送HTTP请求
所属栏目:[大数据] 日期:2020-12-16 热度:144
import ("net""net/http""time")//url 要请求的URL // ipaddr 当前网卡绑定的IP(一般都是网外IP)func HttpGetFromIP(url,ipaddr string) (*http.Response,error) {req,_ := http.NewRequest("GET",url,nil)client := http.Client{Transport: http.Transport{[详细]
-
go 时间格式风格详解
所属栏目:[大数据] 日期:2020-12-16 热度:89
一段代码 这里有一段代码 play 更能解说 layout. 可以看出,go 自动识别并转换 time 字符串是完全可能的. time package go 的time package 提供了time.Format函数,用来对时间进行格式化输出。 类似的还有time.Parse用来解析字符串类型的时间到time.Time。这[详细]
-
Golang HTTP请求代理
所属栏目:[大数据] 日期:2020-12-16 热度:115
import ("net/http"u "net/url")// http GET 代理func HttpGetFromProxy(url,proxyURL string) (*http.Response,error) {req,_ := http.NewRequest("GET",url,nil)proxy,err := u.Parse(proxyURL)if err != nil {return nil,err}client := http.Client{Trans[详细]
-
Golang面向对象之类型、方法、多态
所属栏目:[大数据] 日期:2020-12-16 热度:156
Golang面向对象之类型、方法、多态 一、方法与函数 什么是方法?与函数的区别? 方法就是能够处理某种类型的变量或结构(以下结构也统称为变量)的函数,称为该类型的方法 这意味着,这个变量会传给这个函数,并且这个函数认识这个变量的内部构造 怎样使得一个[详细]
-
unqlite安装/使用/测试
所属栏目:[大数据] 日期:2020-12-16 热度:87
UnQLite是一个嵌入式NoSQL(键/值存储和文档存储)数据库引擎。不同于其他绝大多数NoSQL数据库,UnQLite没有一个独立的服务器进程。UnQLite直接读/写普通的磁盘文件。包含多个数据集的一个完整的数据库,存储在单一的磁盘文件中。数据库文件格式是跨平台的,[详细]
-
基于beego一键创建RESTFul应用
所属栏目:[大数据] 日期:2020-12-16 热度:78
API应用开发入门 Go是非常适合用来开发API应用的,而且我认为也是Go相对于其他动态语言的最大优势应用。beego在开发API应用方面提供了非常强大和快速的工具,方便用户快速的建立API应用原型,专心业务逻辑就行了。 快速建立原型 bee快速开发工具提供了一个AP[详细]
-
golang中的反射
所属栏目:[大数据] 日期:2020-12-16 热度:172
Golang中的反射 今天看了一下golang中的反射,觉得golang中的反射还是比较容易使用的。这边文章基本是自己对于这篇的翻译。 类型和接口 由于反射是基于类型系统(type system)的,所以先简单了解一下类型系统。 首先Golang是一种静态类型的语言,在编译时每一[详细]
-
golang反射中函数和方法的调用
所属栏目:[大数据] 日期:2020-12-16 热度:80
golang反射中函数和方法的调用 上一篇文章说到了golang中的反射的一些基本规则,重点就是文章中最后的三点,但是这篇文章并没有说如何在反射中调用函数和方法,这就是接下来要谈的。 反射中调用函数 众所周知,golang中的函数是可以像普通的int、float等类型[详细]
-
golang接口的实现以及注意事项。
所属栏目:[大数据] 日期:2020-12-16 热度:89
package mainimport ("fmt")type Animal interface {move()}type Human struct {i int}func (r Human) move() { // 注意fmt.Println("人类行走")r.i++}type Bird struct {i int}func (r *Bird) move() {fmt.Println("鸟类行走")r.i++}func moveTest1(animal[详细]
-
golang template传递值的第二种方法 利用map[string]interface{}
所属栏目:[大数据] 日期:2020-12-16 热度:148
关于golang tmplate怎么样传递值,以前的调查结果是只能用struct,但是最近开一个开源source,发现他竟然用的是map[string]interface{},百思不得其解,所以用一下代码进行验证。 PS,哎,golang的文档还是太弱了[详细]
-
Golang 开发web应用时的静态文件处理方法(v0.01)
所属栏目:[大数据] 日期:2020-12-16 热度:142
一、首先,我的应用目录结构如下图: 分析一下:应用运行文件所在文件夹在hw,此即为应用根目录。模板则位于hw/template中,其中css文件在其中的css文件夹,javascript文件在js文件夹。 应用在hw文件夹中被执行,运行过程中需要读取template/css/main.css文[详细]
-
go impot _ 操作
所属栏目:[大数据] 日期:2020-12-16 热度:146
_操作 这个操作经常是让很多人费解的一个操作符,请看下面这个import。 import ( "database/sql" _ "github.com/ziutek/mymysql/godrv" ) _ 操作其实是引入该包,不直接使用包里面的函数,而是调用了该包里面的init函数。[详细]
-
golang 中的 slice array map
所属栏目:[大数据] 日期:2020-12-16 热度:119
http://developer.51cto.com/art/201206/342773.htm 注意 slice 是指针类型 array 是值类型,每一次 array的copy都是 一份完整的copy 从 一个array 身上派生出来的 slice ,如果更改 这个array 那么slice 也是会被影响的[详细]
-
Golang开发web应用(v0.02)
所属栏目:[大数据] 日期:2020-12-16 热度:123
经过几天实践,现将学习go语言开发web应用的一点经验记录如下: 1、项目管理 可以按go的规范设置,我自己的设置主要为: 其中: hw是项目根目录,是执行文件所在目录;template是模板及静态文件目录,其中有模板文件目录html、css文件目录css、javascript文[详细]
-
emacs配置golang
所属栏目:[大数据] 日期:2020-12-16 热度:153
昨天看到同事再用emacs,好强大的样子,让我这种伪emacser羡慕不已,回来之后就寻思着再折腾折腾emacs. 首先下载golang官方的emacs mode: http://golang.org/misc/emacs/go-mode.el 下载auto-complete http://cx4a.org/software/auto-complete/#Downloads 然后[详细]
-
golang 中的 "继承" -----组合
所属栏目:[大数据] 日期:2020-12-16 热度:199
golang 中一切 皆是类型 这个和 面向对象的 概念有点像 ,但是又不太像,和javascript倒是有些相似之处 那么如何实现 像 Java中的 继承呢,golang使用的是组合 请看代码 和 运行输出 说明一切 type father struct { name string sex int } type sun struct {[详细]
-
golang printf
所属栏目:[大数据] 日期:2020-12-16 热度:109
1: 打印包括字段在内的实例的完整信息 同 %+V fmt.Printf("Hello world! %v","hufeng") 输出:Hello world! hufeng 2:打印包括字段和限定类型名称在内的实例的完整信息 fmt.Printf("Hello world! %#v","hufeng") Hello world! "hufeng" 3:打印某个类型的完[详细]
-
golang error
所属栏目:[大数据] 日期:2020-12-16 热度:138
package main import( "fmt" "errors" ) func main() { err := errors.New("emit macho dwarf: elf header corrupted") if err != nil { fmt.Print(err) } }[详细]
-
golang ---- slice 切片
所属栏目:[大数据] 日期:2020-12-16 热度:64
在很多应用场景中,数组并不能满足我们的需求。在初始定义数组时,我们并不知道需要多大的数组,因此我们就需要“动态数组”。在Go里面这种数据结构叫 slice slice 并不是真正意义上的动态数组,而是一个引用类型。 slice 总是指向一个底层 array , slice[详细]
-
Golang继承中字段及方法的测试
所属栏目:[大数据] 日期:2020-12-16 热度:76
Golang采用嵌入字段来实现继承,由于实现上存在多种可能,这里进行测试,看看Golang的设计思路。 待考察的问题包括: 嵌入的是结构,还是指针? 嵌入部分是匿名字段,还是命名字段? 方法是传值,还是传指针? 最终结论: 可以嵌入字段,也可以嵌入指针,其[详细]
-
golang 基础
所属栏目:[大数据] 日期:2020-12-16 热度:133
1.//对map中的struct赋值 type person struct {id intname string}func main() {persons := make(map[int]person)persons[0] = person{1,"a"}log.Println(persons[0])v,ok := persons[0]if ok {v.id = 0persons[0] = v}log.Println(persons)persons1 := make[详细]
-
Go语言/golang/位操作/取反/异或/左移/右移
所属栏目:[大数据] 日期:2020-12-16 热度:158
Go语言位操作实例 !-- lang: cpp --package mainimport ( "fmt")// 获取0-n之间的所有偶数func even(a int) (array []int) { for i := 0; i a; i++ { if i1 == 0 { // 位操作符与C语言中使用方式一样 array = append(array,i) } } return array}// 互换两个[详细]
-
Go的闭包
所属栏目:[大数据] 日期:2020-12-16 热度:138
package mainfunc A(i int) (func() int) {return func() int {return i}}func main() {var a,b func()intvar c [3]func()inti:=0a=func() int {return i}b=func() int {return i}println(a(),b())i=1println(a(),b())a=A(2)b=A(3)println(a(),b())for i:=4;[详细]
-
go的方法
所属栏目:[大数据] 日期:2020-12-16 热度:134
receiver为值的方法,编译器实现了对应的receiver为指针的方法,不是简单的取值后调用的包装,而是真正操作该字段 receiver为指针的方法,则没有实现对应的receiver为值的方法,值可以调用只是语法糖(取指针后调用) 编译器对接口则没有语法糖提供 method-va[详细]
-
go的变量作用域
所属栏目:[大数据] 日期:2020-12-16 热度:68
go的变量作用域是花括号确定的,任一变量的作用域只在自身所处的花括号范围内 if,for等可以有初始化表达式的,其作用域还要高于其后的花括号一层 package mainfunc main() {x:=1println(x)for x:=3;;{print(x," ")break}println(x)if x:=5; true {print(x," "[详细]
