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

GO 快递单号查询api接口开发(快递鸟)

此文章纯属个人原因,本人是初学者,刚学习Golang 4个来月,如写的不好大神们就请绕行吧!最近公司需要些快递的接口,但是公司没有开发,我是个搞运维,一直在学GO,所以就试着写了写,也在网上找了很多资料,都没有找到需要的,快递鸟的接口对接其实很简单,先去官网注册账号,登陆把基本信息填好,然后在产品管理中订购一下“物流查询”,免费,免费的有对接口调用频率限制,结合自己的应用流量够用就可以。对接流程:快递鸟网站申请接口KEY并认证-对接接口-调试-上线使用1、登录快递鸟官网注册页面注册快递鸟账号2、登录快递鸟用户管理后台注:登录快递鸟用户管理后台后获得用户ID和APIKey,此用于保证应用来源的可靠性,避免应用伪造,被不法使用。进入“我的会员中心”进行实名认证 注:1、认证类型、应用类型根据用户...阅读全文

博文 2019-09-23 17:03:00 fire77

求助 go tool compile: open NUL: The system cannot find the file specified.

win10x64系统 语言也重装了好几遍了 包括系统都重装了 还是会出现这问题 想哭 package main import "fmt" func main() { fmt.Println("hello,world") } 这是源码 用户变量 path C:\Go\bin 和 %GOPATH%\bin 用户变量 GOPATH D:gowork 系统变量 GOPATH D:\gowork 系统变量 path C:\Go\bin 和 %GOPATH%\bin 系统变量 GOROOT C:\Go 是哪里出了错吗?求大神指点,谢...阅读全文

来这才是 Golang Interface

定义 Interface 是一个定义了方法签名的集合,用来指定对象的行为,如果对象做到了 Interface 中方法集定义的行为,那就可以说实现了 Interface。 这些方法可以在不同的地方被不同的对象实现,这些实现可以具有不同的行为。 interface 的主要工作仅是提供方法名称签名,输入参数,返回类型。最终由具体的对象来实现方法,比如 struct。 interface 初始化值为 nil 使用 type 关键字来申明,interface 代表类型,大括号里面定义接口的方法签名集合。 type Animal interface { Bark() string Walk() string } 复制代码如下,Dog 实现了 Animal 接口,所以可以用 Animal 的实例去接收 D...阅读全文

博文 2019-09-23 17:34:31 _西门吹牛

我在想 是否用一个变量代替key token等字符串呢

~~~ 比如一个GO写的网站 需要TOKEN 主要验证登录那些, {代替把token key放入配置文件 省的一次次打开在获取浪费资源。} 我可以在 func init() 里写一个 randStr := 随机数 这样不就能代替唯一KEY了? 程序重新启动 就会重新获取一个KEY, 会让全部用户退出, 这样的话这个KEY是唯一的 增加了安全性。 不过这样是否有什么后遗症呢, 网站可能运行N天,是否会存在丢失等情况呢?没测试过 ~~...阅读全文

一个关于接口的小问题

``` var fi interface{} fi = func(){ fmt.Println("jjjjj") } switch f := fi.(type){ case bool: fmt.Println("func",f) case interface{}: fmt.Println("interface",f) // f() // 直接调用会报错cannot call non-function f (type interface {}) default: fmt.Printf("unknown:%#v\n",f) } ``` 如上代码,fi这个接口变量被赋值为一个函数,如何把这个函数取出来调用呢...阅读全文

Go语言指针

链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载。 Go 语言中指针是很容易学习的,Go 语言中使用指针可以更简单的执行一些任务。 接下来让我们来一步步学习 Go 语言指针。 我们都知道,变量是一种使用方便的占位符,用于引用计算机内存地址。 Go 语言的取地址符是 &,放到一个变量前使用就会返回相应变量的内存地址。 以下实例演示了变量在内存中地址: package mainimport "fmt"func main() { var a int = 10 fmt.Printf("变量的地址: %xn", &a )}执行以上代码输出结果为: 变量的地址: 20818a220现在我们已经了解了什么是内存地址和如何去访问它。接下来我们将具体介绍指针。 什么是指针一个指针变...阅读全文

博文 2019-09-23 16:32:50 链客

Go运行问题 :runnerw.exeAttachConsole failed with error 6

![2019-02-20_150546.png](https://static.studygolang.com/190220/4548c7dcc7eb3a3e8738a3f70f062f4e.png) 第一次运行报错,但不影响编译结果,之后运行不报错,出现原因是? 附: package main import "fmt" func main() { var a int = 20 /* 声明实际变量 */ var ip *int /* 声明指针变量 */ ip = &a /* 指针变量的存储地址 */ fmt.Printf("a 变量的地址是: %x\n", &a) /* 指针变量的存储地址 */ fmt.Printf("ip 变...阅读全文

Go 数据类型和类型转换

# Go 数据类型和类型转换 Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、`map`、通道(channel)等。Go 语言的基本类型和其他语言大同小异。 ## 整型 整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64 其中,uint8 就是我们熟知的 byte型,int16 对应 C语言中的 short型,int64对应C语言中的 long型。 阅读全文

Go Base Study

* 定义包内变量 ``` go //定义包内变量 var a1=3 var ss="string" //包内变量不能用 :简写 // bb:=34 //简写定义 var ( a2=3 str1="Hello" ) ``` * 函数内定义变量 ``` go func 定义变量() { var a int var s string fmt.Println(a,s) fmt.Printf("%d,%q\n",a,s) } func 定义变量初始化() { var a,b int = 3,5 //定义多个同种类型的变量 var s string = "Hello world" fmt.Println(a,b,s) } f...阅读全文

web模拟终端博客系统

> 本文由QQ音乐前端团队发表 前段时间做了一个非常有意思的模拟终端的展示页:http://ursb.me/terminal/(没有做移动端适配,请在PC端访问),这个页面非常有意思,它可以作为个人博客系统或者给 Linux 初学者学习终端命令,现分享给大家~ 开源地址:airingursb/terminal ## 0x01 样式 打开页面效果如下图所示: ![img](https://ask.qcloudimg.com/http-save/yehe-1034093/qds6ad2qtt.jpeg?imageView2/2/w/1620) 其实这里的样式就直接 Copy 了自己 Mac 上 Terminal 的界面,当然界面上的参数都是自己写的,表示穷人没...阅读全文

Golang使用dig真的会比直接func注入跟new好?

最近看到公司的项目都在改用dig做di,ioc。我自己很排斥,但是又感觉自己不用很特立独行的感觉,来社区问问诸位大佬,为什么这么多人推崇dig? 使用dig,确实只需要在main,当中provide一次 ```go //main.go func buildContainer() *dig.Container { container := dig.New() container.Provide(models.InitStorager) //container.Provide(api.DI_Tools) return container } ``` 重点是每次需要使用到这个对象的地方都充斥着各种Invoke ``` //router.go var data...阅读全文

学好shell语言的方法与技巧

在充斥着各种的互联网+的数字时代,Linux运维也越来越趋于自动化方向发展,越来越多的运维工作者奔跑在了自动化运维的路上。目前Linux系统下最流行的运维自动化语言就是shell和Python了。 两者之间,shell几乎是IT企业必须使用的运维自动化编程语言,特别是在运维工作中的服务监控、业务快速部署、服务启动停止、数据备份及处理、日制分析等环节里,shell是不可缺的。当然Python也是一门更适合处理复杂的业务逻辑,以及开发复杂的运维软件工具,实现通过web访问等。Shell是一个命令解释器,解释执行用户所输入的命令和程序。一输入命令,就立即回应的交互的对话方式。 **Shell应该怎么学呢?** **1. 先夯实shell编程的基础** Shell编程的基础知...阅读全文

7个提升Python性能的小技巧

掌握一些技巧,可尽量提高Python程序性能,也可以避免不必要的资源浪费。今天就为大家带来七个可以提升python程序性能的好习惯,赶快来学习吧:、 **1、使用局部变量** 尽量使用局部变量代替全局变量:便于维护,提高性能并节省内存。 使用局部变量替换模块名字空间中的变量,例如 ls = os.linesep。一方面可以提高程序性能,局部变量查找速度更快;另一方面可用简短标识符替代冗长的模块变量,提高可读性。 **2、减少函数调用次数** 对象类型判断时,采用isinstance()最优,采用对象类型身份(id())次之,采用对象值(type())比较最次。 ``` #判断变量num是否为整数类型 type(num) == type(0) #调用三次...阅读全文

Python定义全局变量的用法

全局变量是编程语言中常见的一种变量,通过全局定义,可以是某对象函数创建,也可以是本程序任何位置创建,能够被本程序中的所有对象或函数进行引用,全局变量的定义有利于程序的变量共享,简化了添加和修改的程序。 和C语言一样,Python也具有全局变量,其定义全局变量的用法有两种: **1. 声明法** 该方法是直接在当前模块中进行全局变量定义声明,使用global的声明方式,再进行引用! OLD_URL='http://oldboyedu.com' def bb(): global OLD_URL OLD_URL = OLD_URL +'#m' if __name__=='__main__': bb() p...阅读全文

Python自定义模块导入方法

Python模块是一个Python文件,以.py结尾,包括了Python对象定义和Python语句,能让Python代码段更有逻辑性、更好用、更易懂,既然Python模块有这么多好处,那么该如何引用Python模块呢? import语句 自定义模块可以采用import语句来进行引入,其操作步骤是先导入模块,再调用模块中包含的函数,可将自定义模块放入当前目录,便于解释器路径搜索,以下是导入自定义hello.py模块,并调用World函数的实例: #!/usr/bin/python # -*- coding: UTF-8 -*- # 导入模块 import hello # 现在可以调用模块里包含的函数了 support.print_func("Wo...阅读全文

BAT等大厂总结的前200页Java面试题都在这里了

内容较多,请大家耐心阅读 基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie 和 Session的区别 fail-fast 与 fail-safe 机制有什么区别 get 和 post请求的区别 Interface 与 abstract 类的区别 IOC的优点是什么 IO 和 NIO的区别,NIO优点 Java 8 / Java 7 为我们提供了什么新功能 什么是竞态条件? 举个例子说明。 JRE、JDK、JVM 及 JIT 之间有什么不同 M...阅读全文

Python如何使用名称空间

名称到对象的映射。命名空间是一个字典的实现,键为变量名,值是变量对应的值。各个命名空间是独立没有关系的,一个命名空间中不能有重名,但是不同的命名空间可以重名而没有任何影响。 通俗讲:名称空间就是存放名字的地方,三种名称空间,(之前遗留的问题x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方) **一、名称空间分类** 1. 全局命名空间( Global):每个模块加载执行时创建的,记录了模块中定义的变量,包括模块中定义的函数、类、其他导入的模块、模块级的变量与常量。 2. 局部命名空间(Local):每个函数所拥有的命名空间,记录了函数中定义的所有变量,包括函数的入参、内部定义的局部变量。 3. 内置命名空间(Built-in...阅读全文

Python数据类型完整大全,让你看的明白

  计算机程序,就是对数据进行操作。无论你学习那种语言开发,都需要学习具体的数据类型,每种开发语言都有自己不同数据类型。   下面是针对python语言的全部数据类型详细汇总:   Python中可以自定义数据类型,可以具有无限种数据类型。 系统默认提供6个标准数据类型:   1.Number类型:数值类型   Number类型一共分为四个小类别:整型,浮点型,布尔型,复数   (1)Int 整形   整形就是整数类型,声明整形有四种方式:   十进制:0~9   变量 = 十进制数字   二进制:0~1   变量 = 0b二进制数字(0b是二进制的标志符号)   八进制:0~7   变量 = 0o八进制数字(0o是八进...阅读全文

黑马2018Python入门教程完整版(懂中文就能学会)视频

```python ├─01linux基础视频 │ ├─1-30 │ │ 01-课程安排 │ │ 02-励志公式和python体验 │ │ 03-什么是操作系统 │ │ 04-不同领域的主流操作系统-01-桌面操作系统 │ │ 05-不同领域的主流操作系统-02-服务器操作系统 │ │ 06-不同领域的主流操作系统-03-嵌入式操作系统 │ │ 07-虚拟机简介 │ │ 08-操作系统发展简史 │ │ 09-Linux的内核版和发行版 │ │ 10-Linux系统下的文件目录结构 │ │ 11-Ubuntu系统目录结构演示和简介 │...阅读全文

兄弟连Go语言培训教程 SDK标准库3:os

  兄弟连教育Go语言培训课程是由清华、微软和谷歌名师历时半年时间研发出的独一无二的体系化课程。   由于目前用户普遍对于区块链认知不足,加之区块链专业人才的短缺及其高薪诱惑力,导致市场上衍生出多家区块链培训机构。兄弟连教育区块链学院院长尹正表示,面对鱼龙混杂的区块链培训市场,消费者需仔细辨别。 概述 os包封装了操作系统提供给Go的API 常用的包括:读取系统信息、读取环境变量、读取和修改文件信息等 package main import ( "os" "fmt" "time" ) func main() { //获得当前工作路径 //D:\BJBlockChain1801\demos\ dir, _ := os.Getwd() ...阅读全文

选择Python开发环境应注意哪些?

编程语言在进行编程时,都需要借助一定的集成开发环境和代码编辑器,Python编程亦如此,以下是在Python初学者在选择Python编辑器时,可以从以下几个方面着手: **1. 保存和重载代码文件** 如果一款集成开发环境或者编辑器不允许你保存现有工作,并在之后重新打开时不能保持你离开时的相同状态,那么它就不是什么集成开发环境。 **2. 在环境内运行代码** 类似的是,如果你必须退出编辑器来运行Python代码,那么它也就是一个普通的文本编辑器。 **3. 支持调试** 在程序运行时支持逐步运行代码是所有集成开发环境和大多数优秀代码编辑器必备的核心功能。 **4. 语法高亮** 支持对代码中的关键词、变量和符号快速标识可以让阅读和理解代码更为...阅读全文

Python判断语句中‘is’和‘==’的区别

Python有两个用于相等比较的运算符,“is”和“==”(等于)。在这篇文章中,我将带你们了解Python中“is”和“==”的区别,并通过几个简单地例子说明应该在什么时候使用它们,我们先来看一个情景: 当我还是一个孩子的时候,我们的邻居家有两只双胞胎猫。 这两只猫看起来看起来完全一样 - 同样的木炭毛,同样敏锐的绿眼睛。撇开一些个性怪癖,单从它们的外表根本无法区分它们。但他们确确实实是两只不同的猫,两个不同的生物,尽管它们看起来完全一样。 就如相等和相同在意思上是有差异的,理解这种差异对理解Python中的操作符“is”和“==”是很重要的。 “==”更侧重于检测相等:如果这些猫是Python对象,我们用“==”比较它们,我们会得到“两只猫是相等的”。 “i...阅读全文

Go变量声明及初始化总结

# Go类型 先列出Go里面常见的类型: ## 基本类型 * bool * string * int int8 int16 int32 int64 * uint uint8 uint16 uint32 uint64 uintptr * byte // alias for uint8 * rune // alias for int32, represents a Unicode code point * float32 float64 * complex64 complex128 ## 复合类型 * 数组 // var array [3]int * struct ## 可用nil作为零值的类型 * pointer types (including ...阅读全文

通过 React Hooks 声明式地使用 setInterval

> 本文由云+社区发表 > 作者:Dan Abramov 接触 [React Hooks](https://reactjs.org/docs/hooks-intro.html) 一定时间的你,也许会碰到一个神奇的问题: `setInterval` [用起来没你想的简单](https://stackoverflow.com/questions/53024496/state-not-updating-when-using-react-state-hook-within-setinterval)。 Ryan Florence 在[他的推文](https://mobile.twitter.com/ryanflorence/status/1088606583637061634)里面说...阅读全文

struct里面的slice 经过反射后怎么做类型转换

有个这样的struct类型: type CacheData struct { RequestNum int FailNum int AvgDuration int IpList []string } 然后在一个函数里面就定义了一个这个类型的变量: val := CacheData{RequestNum:100, FailNum:2, AvgDuration: 100, IpList:[]string{"10.8.0.94"}} 然后就 把这个变量存到缓存里面了(用的cache2go包) 然后在另外的goroutine 里面,有个地方取到这个缓存,取出来是这样的: {100 2 100 [10.8.0.94]} 然后我需要对这个值做处理...阅读全文

扣丁学堂HTML5培训简述HTML5录音的踩坑之旅

文章之前想问一下小伙伴们,有多少小伙伴接触过HTML5的Audio API,并对代码中进行优化?若开发一个有声课件,大致就是通过导入文档、图片等资源后,页面变为类似PPT的布局,然后选中一张图片,可以插入音频,有单页编辑和全局编辑两种模式。其中音频的导入方式有两种,一种是从资源库中导入,还有一种就是要提到的录音。这其中有不少的坑,本篇文章扣丁学堂HTML5培训小编就围绕这几个坑来说说感受。 录音前的准备 开始录音前,要先获取当前设备是否支持 Audio API。早期的方法 navigator.getUserMedia 已经被 navigator.mediaDevices.getUserMedia 所代替。正常来说现在大部分的现代浏览器都已经支持 navigator.med...阅读全文

【03】helloworld 叩开 Go 编程的大门

# helloworld 叩开 Go 编程的大门 没有规矩不成方圆,在编程开始前,我们非常有必要了解下 Go 语言代码组织的基本规则和必要的要求。否则我们就是**外行**了。 为此,我们从编程入门第一个程序 helloworld 来看 Go 代码的组织结构。 ## Go 代码的组织结构 Go 工具规定 Go 代码必须放到 **工作空间** 内,并且 Go 工具规定了工作空间的目录结构。 ### 什么是工作空间 简单来说,工作空间就是磁盘上的一个文件夹(一个目录)。类似于 C++ 中的 workspace。即,工作空间就是一个项目(工程)的根目录。 ### 工作空间的目录结构 - src:包含 Go 源文件 - bin:包含可执行文件(二进制文...阅读全文

【跟着我们学Golang】Go语言全平台安装

学习Go语言的第一步当然是要先安装Go语言的环境,毕竟,没有这个环境咱们什么都做不了。 但是在安装环境之前咱们先了解一下Go涉及到的环境变量。 这里介绍几个比较常用的Go语言环境变量。 #### GOROOT Go的安装路径,windows默认安装在'c:/go'路径下,Linux/macos下默认安装在'~/go'路径下 #### GOPATH Go 语言源码文件、包文件和可执行文件的路径,换句话说,GOPATH指定的是存放项目相关的文件路径 #### GOOS 电脑的操作系统标识。如Mac下为“darwin“,windows下为”windows“ #### GOARCH 电脑的处理器架构,如386...阅读全文

Python中如何定义私有变量

学过编程语言的人员,都知道私有变量在编程中必不可少,与Java和C语言用private关键字定义私有变量不同,Python是在变量前面加上双横杠(例如:__test)来标识, Python私有变量只能在类内部使用,不被外部调用,且当变量被标记为私有后,调用时需再变量的前端插入类名,在类名前添加一个下划线,即“_ClassName__变量名”形式。 Python私有变量或方法在自身类中不能直接调用,需通过在类中定义接口,实现私有变量的引用、读取和修改。 除了Python私有变量是使用“_”定义之外,还有两种特殊变量,分别是: 1. _xx 以单下划线开头的表示的是protected类型的变量。即保护类型只能允许其本身与子类进行访问。若内部变量标示,如: 当使用“from ...阅读全文

兄弟连Go语言培训教程面向对象1:封装

面向对象概述 在没有面向对象的年代,编程的方式是面向过程的 面向过程的编程,管理的是一个一个的函数,撸工程就是堆砌大量的函数 面向对象中类的概念,Go语言是通过结构体来实现的 类/结构体是对函数的进一步封装,即把有机关联的变量和函数封装为一个结构体 有了类/结构体的概念以后,撸工程就由管理大量的函数变为了管理少量的类 书本理论中面向函数的三大特性是:封装、继承、多态(有时会再加一个抽象) 继承性实现了低成本地扩展原有代码 多态性实现了大规模代码的组装和调度 面向对象使工程开发变成了搭建框架和组装模块的游戏 面向对象的出现使大规模协作与大规模开发变得更容易了 封装性概述 封装就是将业务逻辑相近的变量和函数封装在一起,成为一...阅读全文

MySQL常用30种SQL查询语句优化方法

1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描。如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 4、尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: select id fro...阅读全文

新人求教,go网页爬取出现无限等待情况,有解决方案但不明白原理,求详解

源代码如下 ``` func httpGetFile(url string,ch chan<- string){ request,err := http.Get(url) if err!= nil{ fmt.Println("http err :",err) } buf:=make([]byte , 4096) str:="" for { n,err := request.Body.Read(buf) if n==0{ break } if err!=nil &&err !=io.EOF{ fmt.Println("#########",err) break } str+=string(buf)//...阅读全文

理解 React Hooks

**欢迎大家前往[腾讯云+社区](https://cloud.tencent.com/developer/?fromSource=waitui),获取更多腾讯海量技术实践干货哦~** > 本文由[志航](https://cloud.tencent.com/developer/user/1192057)发表于[云+社区专栏](https://cloud.tencent.com/developer/column/72988?fromSource=waitui) ## TL;DR 一句话总结 React Hooks 就是在 react 函数组件中,也可以使用类组件(classes components)的 state 和 组件生命周期,而不需要在 mixin、 函数组件、HOC组...阅读全文

是时候学习真正的 spark 技术了

![](https://odum9helk.qnssl.com/FngWcEcCVvbksDJ9WS1eoeozDQi-) 
 spark sql 可以说是 spark 中的精华部分了,我感觉整体复杂度是 spark streaming 的 5 倍以上,现在 spark 官方主推 structed streaming, spark streaming  维护的也不积极了, 我们基于 spark 来构建大数据计算任务,重心也要向 DataSet 转移,原来基于 RDD 写的代码迁移过来,好处是非常大的,尤其是在性能方面,有质的提升,  spark sql 中的各种内嵌的性能优化是比人裸写 RDD 遵守各种所谓的最佳实践更靠谱的,尤其对新手来讲, 比如有些最佳实践讲到先 filter 操作...阅读全文

阿里的并发编程到底有多牛逼?这些技术点你又知道多少!

前言 ![image.png](https://static.studygolang.com/190112/90338f15e4239cfc2afe695eaac54e2a.png) 众所周知,在Java的知识体系中,并发编程是非常重要的一环,也是面试的必问题,一个好的Java程序员是必须对并发编程这块有所了解的。 然而不论是哪个国家,什么背景的 Java 开发者,都对自己写的并发程序相当自信,但也会在出问题时表现得很诧异甚至一筹莫展。 可见,Java 并发编程显然不是一件能速成的能力,基础搭得越好,越全面,在实践中才会有更深刻的理解。 因此,大家不难发现 Java 并发问题一直是各个大厂面试的重点之一。我在平时的面试中,也发现很多候选人对一些基本的并发概念表示...阅读全文