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

Go语言:sync 模块

sync模块下定义的所有struct及其方法如下: type Cond struct { // L is held while observing or changing the condition L Locker // contains filtered or unexported fields } func NewCond(l Locker) *Cond func (c *Cond) Broadcast() func (c *Cond) Signal() func (c *Cond) Wait() type Locker interface { Lock() Unlock() } type Map func (m *Map) Delete(key interface{}) func (...阅读全文

博文 2020-03-27 16:33:01 落落大方的发卡

Golang 的静态编译

Go语言和C语言的一个很大的区别是,Go语言只静态编译,做个测试: $ cat testc.c #include int main( void ) { printf("hello world \n"); return 0; } $ cat testgo.go package main import "fmt" func main (){ fmt.Println("hello world") } $ gcc testc.c -o testc $ go build testgo.go $ ls -lh testc testgo -rwxrwxr-x 1 oo2 oo2 8.2K Sep 25 10:39 testc -rwxrwxr-x 1 oo2 oo2 2.0M Sep ...阅读全文

用25种编程语言来输出“Hello Word”,你喜欢哪种?

“Hello World !” ——每个程序员在开始学习任何编程语言时编写的第一个程序。“Hello World !”被认为是几乎所有计算机语言中最简单的程序之一,它向用户输出或显示“Hello, World !”。它通常是用于工作程序的编程语言的基本语法的范例,用来向入门程序员介绍编程语言。从本文中,您将学习如何用25种不同的著名编程语言编写您的第一个程序——“Hello World !”程序。编写你的第一个计算机程序“Hello World” 1、Bash Bash是一个sh兼容的命令语言解释器,它执行从标准输入或文件读取的命令。Bash还包含了来自Korn和C shell (ksh和csh)的有用特性。2、C 语言C是一种高级的通用编程语言,非常适合开发固件或可移植应用程序。C语言最初...阅读全文

博文 2020-06-28 16:36:37 智圭谷科技

cgo快速入门之golang调用C语言

前言 cgo 提供了 golang 和 C 语言相互调用的机制。几乎所有的编程语言都有C语言的影子,当然golang也不例外。可以看到golang的创始者们与C语言有着密切的联系。下面我们将通过快速入门小例子来掌握cgo的基本用法。 最简cgo程序 真实的cgo程序一般都比较复杂。不过我们可以通过一个小例子,了解一个最简的cgo程序该是什么样的。 构造一个最简cgo程序,首先要忽视一些复杂的cgo特性,同时要展示cgo程序和纯Go程序的差别来。 在使用cgo特性之前,需要安装C/C++构建工具链,在macOS和Linux下是要安装gcc,在windows下是需要安装MinGW工具。 下面是我们构建的最简cgo程序: package main import "C" func main() { ...阅读全文

博文 2020-03-27 01:32:47 程序猿编码

Golang对象中的value与pointer

开宗明义 不是我喜欢装,要用什么value与pointer,而不说值与指针。实在是后面还要讲receiver时,实在不知道怎么说,但是value receiver与pointer receiver就好多了。 面向对象 如果一门编程语言哪一天不说面向对象了,那还真的是一件很奇怪的事情。即使是函数式语言,或者是C语言,都会以某种程度来说是怎么样实现面向对象的语义。面向对象,就是程序封装里面一道跨不过去的坎。 Golang中和面向对象形式上特别简单,就是给函数function定义加一个receiver,那么就变成了方法method了。如: type A struct { } func (a A) DoSomething() { /* 你在这里做了些什么事情 */ } a := new A(); a...阅读全文

Go语言 命令行解析(一)

命令行启动服务的方式,在后端使用非常广泛,如果有写过C语言的同学相信不难理解这一点!在C语言中,我们可以根据argc和argv来获取和解析命令行的参数,从而通过不同的参数调取不同的方法,同时也可以用Usage来打印帮助信息了。 那么开始今天的话题之前,我们回顾一下在C语言中是如何解析传递的参数的。 示例代码: #include #include // argc 为int型 // argv 为char指针数组,元素个数是argc,存放的是指向每一个参数的指针 int main(int argc, char *argv[]) { printf("命令行参数个数: %d\n", argc); printf("执行程序的名称:%s\n", argv[0]);...阅读全文

博文 2020-04-17 07:32:47 桂成林

2020 年,嵌入式开发工程师的两大必知必会!

2020年,在嵌入式系统及硬件领域里有哪些新趋势呢?本文作者从软硬件两大点出发,详细介绍其中的新技术发展趋势,对于嵌入式系统工程师的你绝不可错过的干货知识。 学习嵌入式的第一步就是要了解嵌入式,一些免费的课程给大家分享嵌入式行业发展跟现状分析http://www.makeru.com.cn/live/1392_401.html?s=144282以下为译文:对嵌入式系统及硬件程序员而言,2020年将是振奋人心的一年。因为在服务器和台式机领域内,英特尔将发布新的 Whitley/Ice Lake 芯片组,AMD 即将发布新的 Ryzen 处理器,而 RISC-V 将吸引更多人的目光,同时英特尔证实苹果的台式机及 MacBooks 产品线将转而使用 Arm CPU。随着物联网应用的普及,MCU市场...阅读全文

博文 2020-05-27 19:32:48 安苒呀

2020全新升级版-Google资深工程师深度讲解Go语言

2020全新升级版-Google资深工程师深度讲解Go语言 超清原画完整无密 MP4格式支持任何设备 点击下载:2020全新升级版-Google资深工程师深度讲解Go语言 Go作为专门为并发和大数据设计的语言,在编程界占据越来越重要的地位!不论是c/c++,php,java,重构首选语言就是Go~本次课程特邀谷歌资深工程师,将Go语言使用经验总结归纳,从Go语言基本语法到函数式编程、并发编程,最后构建分布式爬虫系统,步步深入,带你快速掌握Go语言! 适合人群及技术储备要求如果你已经掌握了一门编程语言,想转型Go语言工程师,或者是对Go的基础语法有简单的认识,想更深层次的了解Go语言那么本门课程非常适合你技术储备要求:至少掌握一门编程语言具有一定项目基础和工作经验者学习效果更...阅读全文

vscode 配置go开发环境 win10

1. 下载go => https://golang.google.cn/2. 安装简单,修改默认C盘安装目录,选择自己喜欢的除C盘外的目录3. 开启module和使用七牛云国内镜像$ go env -w GO111MODULE=on$ go env -w GOPROXY=https://goproxy.cn,direct4. 设置gopath,随意自己弄个位置5.安装vscode + go插件可以开始玩go了,不过打开vscode开发需要两个注意的第一个是google官方的一些包是没有被卡掉,因为上面代理了,可是github的被卡,太慢了(vscode会提示安装相应的包,根据提示都安装了)解决方案是:使用http://ping.chinaz.com/ 去ping 三个地址取用响应时间最短的国...阅读全文

博文 2020-09-09 05:32:44 ByPeterLi

语言的分类(静动态/强弱类型/显隐式)

强弱类型语言: 强类型:类型是定义好的,无法改变它的类型了,但是向C语言,虽然定义了一个short,还是可以当成char来用的,因为可以直接操作内存。 弱类型:类型之间可以自由转换 弱类型语言,类型检查更不严格,如偏向于容忍隐式类型转换。譬如说C语言的int可以变成double。 这样的结果是:容易产生forbidden behaviours,所以C是弱类型的。 显式隐式 在语法层面明确数据类型与否,隐式的比如C++ 的 auto 关键字,JS/Go的var,还有python。 动态静态类型语言: 静态类型:编译时就确定数据类型,java/C/C++/golang 动态类型:运行时确定数据类型 python/PHP 不知道类型,光看变量名是不知道数据到底是int还是char类型,后期换个人维...阅读全文

博文 2020-05-18 11:33:08 小幸运Q

30分钟学会Objective-C

什么是Objective-CObjective-C,简称OC,是一种通用、高级、面向对象的编程语言。它扩展了标准的ANSI C编程语言,将Smalltalk式的消息传递机制加入到ANSI C中。当前主要支持的编译器有GCC和Clang(采用LLVM作为后端)。Objective-C的商标权属于苹果公司,苹果公司也是这个编程语言的主要开发者。苹果在开发NeXTSTEP操作系统时使用了Objective-C,之后被OS X和iOS继承下来。现在Objective-C与Swift是OS X和iOS操作系统、及与其相关的API、Cocoa和Cocoa Touch的主要编程语言。Objective-C是C语言的严格超集。这意味着任何C语言程序不经修改就可以直接通过Objective-C编译器,在Obj...阅读全文

博文 2020-03-08 00:32:59 慢慢来比较

go 学习笔记之go是不是面向对象语言是否支持面对对象编程?

面向对象编程风格深受广大开发者喜欢,尤其是以 C++, Java 为典型代表的编程语言大行其道,十分流行! 有意思的是这两中语言几乎毫无意外都来源于 C 语言,却不同于 C 的面向过程编程,这种面向对象的编程风格给开发者带来了极大的便利性,解放了劳动,松耦合,高内聚也成为设计的标准,从而让我们能够更加愉快地复制粘贴,做代码的搬运工,很多第三方工具开箱即用,语义明确,职责清晰,这都是面向对象编程的好处! Go 语言也是来源于 C 语言,不知道你是否也会好奇 Go 语言是否支持面向对象这种编程风格呢? 准确的说,Go 既支持面向对象编程又不是面向对象语言! 是也不是,难道像是薛定谔的猫一样具有不确定性? 其实这个答案是官方的回答,并不是我个人凭空杜撰而来的,如需了解详情可参考 Is Go an ...阅读全文

博文 2019-08-21 22:32:50 雪之梦技术驿站

【Go语言踩坑系列(二)】字符串

声明 本系列文章并不会停留在Go语言的语法层面,更关注语言特性、学习和使用中出现的问题以及引起的一些思考。 要点 本文关注Go语言字符串相关的语言特性、以及相关的[]byte、[]rune数据类型。 从字符编码说起 ASCII 计算机是为人类服务的,我们自然有表示我们人类所有语言与符号的需求。由于计算机底层实现全部为二进制,为了用计算机表示并存储人类文明所有的符号,我们需要构造一个“符号” => “唯一编码”的映射表,且这个编码能够用二进制来表示。这样就实现了用计算机来表示人类的文字与符号。最早的映射表叫做ASCII码表,如:a => 97。这个相信大家都很熟悉了,它是由美国人发明的,自然首先需要满足容纳所有英文字符的需求,所以并没有考虑其他国家的语言与符号要如何用计算机来表示。但是随着计算...阅读全文

golang入门之hello world

如果你是一个程序员,想学一门新的编程语言,通常看到它的hello world之后,就知道这个语言大概是什么样,好不好学,go语言是我认为比较好学的一门编程语言,其hello world程序也非常简单。新建hello.go文件,代码如下: package main import "fmt" func main(){ fmt.Printf("hello,world\n") } 命令行执行 root:src$ go run main.go hello,world 如果没有装go环境可以到官网下载,官网下载地址:https://golang.org/dl...阅读全文

Tank技术【3-1】Go语言学习资源

一、序言:用GoLang编写服务端程序Go语言属于类C语言,由Google维护,排名火箭上升。GoLang使用方便,并且可以轻松在各个平台(跨平台)编译成可执行文件,有利于知识产权的保护。因此,在往后的服务端程序编写中,决定使用Golang进行编程。二、Go语言开发环境在Windows10的安装Go语言在win10安装很简单:1. https://golang.google.cn/dl/ 下载安装包,windows就选择windows的安装包2. 下载完毕后开始安装,一路next,最后go环境安装到了:\go目录下,环境变量也设置成功了。3. 在任务栏打开cmd窗口, 在窗口中,用cd c:\go 进入go的文件夹。再用 cd test,进入 c:\go\test 文件夹。 这个文件夹里有很...阅读全文

博文 2020-01-05 21:32:42 idontknowctt

【编程】你问我为什么数组要从零开始?因为我乐意~

如题,数组第一个元素为什么要从零开始,而不从一开始?感觉这很反人类呀,正常来讲,一个集合的开始,不应该从一吗? 对于这个问题,我觉得可以从以下两方面来考虑。设计层面 我们先了解一下数组最基本的结构和寻址方式(即实现方式)。 现在市面上无论是C、Java、PHP,还是Go或者其他编程语言,他们数组的实现方式,应该都是一样的:一段连续的内存。 数组在分配内存的时候,我们会知道数组的开始地址(PS:在目前下标为零的情况下,也等同于数组的第一个元素的地址); 因为数组中每个元素的类型都是相同的,所以每种类型所占的内存大小是固定的,因而导致数组中每个元素的所占的内存大小都是相同的 由此我们可以得出,数组中每个元素地址的计算公式: // n为数组坐标,x为数组开始的内存地址,size为每个元素的大小 a...阅读全文

博文 2020-09-10 19:32:45 C语言编程学习基地

【环境篇】golang环境变量二三事(三)

GCCGO The gccgo command to run for 'go build -compiler=gccgo'. 表示"go build -compiler=gccgo",编译时指定的-compiler参数。 AR The command to use to manipulate library archives when building with the gccgo compiler. The default is 'ar'. 打包工具,默认"ar"。 CC The command to use to compile C code. 编译C语言的工具。 CGO_ENABLED Whether the cgo command is supported. Either 0 or ...阅读全文

博文 2020-01-18 15:32:42 onepunchgo

go语言安装快速入门

[TOC] go语言是什么 Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区 如何安装 环境 笔者这里是用windows做的演示 windows 10 下载 https://golang.org/dl/ 下载对应操作系统的安装程序 这里我下载的windows的 image-20201012075820182 安装 这里安装也比较简单 windows下,直接双击下载...阅读全文

博文 2020-10-18 11:32:39 吉祥鸟hu

Go语言简介

Go语言简介1.Go语言的诞生2.Go语言特点3.Go语言应用领域4.使用Go语言的公司5.为什么学Go语言1.Go语言的诞生Go语言是由谷歌推出的一门静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go语言官网 golang.orgGo语言作者 从左到右依次是: Robert Griesemer 曾开发过V8 JavaScript引擎和Java HotSpot虚拟机Rob Pike 曾开发过Plan 9操作系统,他与肯·汤普逊共同开发了UTF-8Ken Thompson Unix操作系统的发明人,C语言发明人之一Go语言的发行版本2007年9月,开始设计Go,2009年正式推出开源版本,在2012年3月发布版本1.0https://golang.org/doc/devel/......阅读全文

关于Golang的那些事(一) -- Node.js和Golang对比

之前一直用Node.js作为开发语言,用了差不多4年的Node.js,涉及前端和后端,最近看到Golang这个新兴之秀挺火的,于是想探究探究一下这门语言,对比了一下他们的Github repo,截止现在Node.js的repo有72.5K星, issue数量是859个,Golang的repo有75.7K星,issue数量是5K+个。从趋势来看,Golang来势汹汹,但是问题较多,需要一段时间才能更加稳定。到官网看了一下Golang的简单使用方法,毫无疑问,都是从hello world开始的,编写了一个go文件之后,使用go build命令可以直接打包成二进制的文件,然后直接执行这个二进制文件即可运行该程序,使用起来确实是方便。看来程序语言都是朝着这个方向在前进的,尽量构建的时候打包成二进制文...阅读全文

博文 2020-08-25 03:32:41 llkevin13579

重新开始学习golang

初衷使用go作为我的主要编程语言,已经有些时日了。依然觉得自己离大神之路有些距离,所以决定用写博客的方式来重新记录一下自己的学习之路,温故而知新,希望自己能对go和编程的认知更加深刻,同时也希望对看到这些文章的人有所帮助,若有路过的大神能对我的所言不吝赐教,那就再好不过了。怎样才算掌握了一门编程语言我认为这个问题要分阶段来看。初级工程师:能够独立搭建这门语言的所需环境,掌握这门语言的基本语法,能够使用一些常见的包或库;中级工程师:能够独立从无到有搭建一个项目,具有调试和性能调优的经验,对性能方面有追求,了解一些该语言的源码;高级工程师:能够深入理解一门语言的编译原理,能够用该语言自举编译器,对该语言的生态深入了解,知道整个生态的架构应该怎样搭建和维护,知道这门语言的发展方向。计划我希望我能通...阅读全文

Go语言学习笔记01.GO语言简介

语言特点 Go语言是一门并发支持、垃圾回收的编译型语言。从某种意义上可以说是C的优化版本。 语言优势 静态编译语言,可以在编译的时候检查出来隐藏的大多数问题 不依赖其他库,部署就传一个文件即可。 高性能,高效并发。可以说就是为并发而生的。 内存安全,高效的垃圾回收 。 快速编译,相比较于C++。 简单易学 ,和C一样,语法极其简介。 内置格式化代码,代码格式一模一样 。 跨平台编译,可以直接包含C代码。 语言特点 保留但大幅度简化指针 多参数返回 array slice map等内置基本数据结构 错误处理(panic recover error) interface Goroutine 多核处理和网络开发 部分函数式编程(匿名函数、闭包),反射,语言交互性 Package即目录 go的哲学 ...阅读全文

博文 2019-11-07 20:32:43 快乐的提千万

Golang简介

Go 语言教程 image Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。 Go 语言特色 简洁、快速、安全 并行、有趣、开源 内存管理、数组安全、编译迅速 Go 语言用途 Go 语言被设计成一门应用于搭载 Web 服务器,存储集群或类似用途的巨型中央服务器的系统编程语言。 对于高性能分布式系统领域而言,Go 语言无疑比大多数其它语言有着更高的开发效率。它提供...阅读全文

博文 2019-07-20 22:32:40 7x24run

学习C 语言能做什么

注意:转载于https://blog.51cto.com/12483417/2431551 经常有小伙伴问我,你是做C/C++的,那学C语言可以做什么呢?尤其是还在学校的同学,感觉自己学了很久,什么也做不了,一度怀疑自己是不是不适合程序员这个方向。 开始我都是直接说可以开发嵌入式,做操作系统,开发数据库等等,说到这,其实大家就应该明白了,C语言是接近底层的,他的很多应用都是处在摸不着看不见的后台,这对于初学编程的同学确实太不友好了,大家都喜欢所见即所得的效果,要不python怎么这么火呢! 但是,作为编程排行榜经典不衰的语言,我还是想好好说下,到底学C语言可以做什么? image.png 在计算机高速发展的最近几十年中,出现了上百种编程语言,有的编程语言是针对某个领域专门设计的,例如: PH...阅读全文

博文 2020-05-02 11:33:44 小小的太阳ZH

Golang之控制语句

if条件判断 package main //if 条件判断 import "fmt" func main (){ age := 19 if age > 18{ fmt.Printf("澳门线上赌场开业啦") }else if age<18 && age>0{ fmt.Printf("快去上网课吧!!") }else{ fmt.Printf("error!") } } 复制代码for循环 在Go语言中,只有for循环,没有C语言中的while循环。 break 和continue可以改变控制流, break表示从当前循环跳出,结束循环。 continue表示跳过此次循环,进行下一次循环。 for循环包括两种: ​ 1.类似C语言中的循环 需要注意的是,必须将{与for循环的末尾放在同一行。否则...阅读全文

博文 2020-04-09 11:34:57 南风古灶

Go指南-数组与切片

在Golang中,数组与切片是两个概念,数组用的比较少,切片用的比较多,也更为常见,理解了它们之间的关系,能够帮助我们减少一些奇奇怪怪的问题。 一切还要从这张图讲起.. 这张图中说明了数组和切片的核心区别,同时也是本文讲解的重点: 1.数组的声明需要指定长度,而切片可指定也可不指定。 2.切片本质是对数组一个引用,切片改变,数组也会改变。 3.切片包含三个部分:数组引用、长度属性、容量属性。长度属性指的是切片的元素数量,决定了可读取数据的上限;而容量属性指的切片的最大元素数量,决定切片了扩展的上限。 1.数组和切片的声明 // 数组的声明 var arr [3]int arr[0] = 1 // 切片的声明,通过var关键字 var slic []int // 切片的声明,通过make关键字...阅读全文

博文 2020-03-29 15:34:25 言淦

GO的第八天,函数多返回值

多返回值 在Go中,一个函数可以返回多个值,这和其他编程语言有很大的不同。对于我们这些有编程经验的人来说,学习这个特性不难,而是很难想到去使用这个特性。 举个简单的例子: package main import "fmt" func swap(a int, b int) (int, int){ return b, a } func main() { a := 1 b := 2 a, b = swap(a, b) fmt.Println(a, b) } 上面这个简单的交换两个数值的例子,可以简单的理解多返回值。 还有一种多返回值的写法,就是函数将所有的返回值都显示定义,那么该函数的return语句可以省略操作数。这种我们称之为 bare return。 func swap(a int, b i...阅读全文

策略与机制

入行至今快12年,这段时间空闲下来,思考一个问题:进入油腻之年,谈到程序,应该谈些什么?是编程语言的语法吗?这些年接触过C、C++、Golang、Java、OC,看过C#、JS、Erlang。编程语言这么多,怎么学习得过来?是语言相关的库吗?学语言必然要学相关的语言库。这就更是无究无尽,有数不尽的技术细节、编程技巧,怎么学习得过来?是学习编程框架吗?编程框架最核心的目的,提高开发效率。因为更靠近业务,Java、JS的框架尤其多。框架封装好,开发者只需要关注业务逻辑,不可或缺,但似乎也不是必需的。见过不少Android程序员,提起四大组件,说得眉飞色舞,但问起.9切图应该怎么设置,却答不上来。是谈微服务、分布式系统、DevOps吗?这是大规模线上服务必须,但又有多少业务有此需求,又有多少业务是...阅读全文

博文 2020-06-06 05:32:39 castle_8530

Go语言基础 - 基本数据类型

一、基本数据类型 1. 整型 uint8也就是byte型 无符号整型 取值范围 uint8 0 到 255 uint16 0 到 65535 uint32 0 到 4294967295 uint64 0 到 18446744073709551615 int16对应C语言中的short型,int64对应C语言中的long型 有符号整型 取值范围 int8 -128 到 127 int16 -32768 到 32767 int32 -2147483648 到 2147483647 int64 -9223372036854775808 到 9223372036854775807 a. 特殊整型 在使用int和uint类型时,不能假定它是32位或64位的整型,而是考虑int和uint可能在不同平台上...阅读全文

博文 2020-04-08 22:32:41 不留烦

Tank技术【3-6】GoLang语法实战学习(4)

九、结构体 Go语言的结构体和C语言是类似的。定义结构体如下: type books struct { sName string sAuthor string nID int64 fPrice float64 sOwner string } 使用结构体有两种办法: var myBook books myBook.sName ="Go语言实战" myBook.sAuther = "Tank" myBook.nID =139581 myBook.fPrice = 58.88 myBook.sOwner ="Tank" theBook :=books{"Go语言实战", "Tank", 139581, 58.88, "Dennis"} yourBook := books{sName:"Go语言实战...阅读全文

博文 2020-01-06 19:32:43 idontknowctt

golang使用mux实现http自定义路由

最近在做坐席管理的服务,其中需要对上层业务提供外部的REST接口,去对坐席、坐席组、租户域进行增删改查操作。 采用了gorilla开发的mux实现自定义路由。 package地址如下: github.com/gorilla/mux Golang中http的设计非常轻量,且具有很高的扩展性,上手非常简单。参考gorilla给出的wiki就可以轻易设计出自定义的路由功能。 这对于像我这样的c语言开发者而言,是非常友善的。 下面直接上代码,讲述一下。 我设计了以下三种URL分别定位三种资源(域、组、坐席): /v1/voip/hlr/mange/domain /v1/voip/hlr/mange/group /v1/voip/hlr/mange/user 于是,定义了一个二维map的全局变量,第一...阅读全文

博文 2020-07-04 06:32:42 5djindoudou

golang基础语法2

1.int类型,是根据平台决定的,在64位机器上,是64位,在32位机器上,是32位,代码验证: package main import ( "fmt" "runtime" "unsafe" ) func main() { fmt.Println("arch", runtime.GOARCH) fmt.Println("int", unsafe.Sizeof(int(0))) } 运行结果: 2.多变量声明: package main import ( "fmt" ) func main() { var b, cint =1,2 fmt.Println(b, c) } 运行结果: 3.fmt.printf 格式化输出,参考文档https://golang.org/pkg/fmt/4.自增(+...阅读全文

博文 2020-06-19 12:32:48 keluda

(二)Golang的变量

为什么需要变量: 变量是程序的基本组成单位不论是使用哪种高级程序语言编写程序,变量都是其程序的基本组成单位,比如: func getVal(num1 int, num2 int) (int, int) {sum := num1 + mum2sub := num1 - num2return sum, sub} func main() {sum, sub := getVal(30, 30)fmt.Println("sum=", sum, "sub=", sub)sum2, _ := getVal(10, 30)fmt.Println("sum=", sum2)...阅读全文

博文 2019-08-16 00:33:55 运维路

怎样高效学习Python?学Python后可以做什么?

众所周知,Python语言简洁、功能强大,被看做是人工智能时代最佳的编程语言。然而golang语言的出现正在威胁Python的地位,试图取代Python成为机器学习以及AI的主流编程语言。 Python作为人工智能的重要编程语言,无论发展前景还是就业方向,都无可限量!Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。对初学者来说,是非常友好的编程语言,从应用程序开发到文字处理、web甚至是游戏能提供支持。你要清楚到底学完Python能做哪些?然后有目标的去学习:接下来,就带大家来了解下学Python后可以做什么: 1.做网站后台Python有大量的成熟的框架,如django,flask,bottle,tornado2.写网络爬虫Python写爬虫很简单,库很健全3...阅读全文

博文 2020-02-28 21:32:49 千锋长沙校区

Go语言学习(二):字符串

在Go中字符串作为内建类型,和C语言是不一样的。C中没有字符串类型, 所有需要通过字符数组来表示字符串,并以指针来传递。在Go中字符串是一个定长字符数组,所以当其创建之后就无法直接改变了。1、错误的字符串长度的获取: 从字符串字面值看len(s)的结果应该是7,但在Golang中string类型的底层是通过byte数组实现的,在unicode编码中,中文字符占两个字节,而在utf-8编码中,中文字符占三个字节而Golang的默认编码正是utf-8.2、正确的字符串长度获取: 那么问题来了,rune[ ]是个啥?有时需要将一个类型转换为另一个类型。在 Go 中可以做到,不过有一些规则。首先,将一个值转换为另一个是由操作符(看起来像函数:byte())完成的,并且不是所有的转换都是允许的。Go语...阅读全文

博文 2020-02-20 19:32:49 算命的Chalk

golang slice 必知必会

1.数组是什么,slice是什么 在 golang 中,我们可以像C语言一样创建一个数组,也可以创建一个动态数组 (slice)数组: arr := [2]int{1, 2} arr[0]=3 arr[1]=4 fmt.Println(arr) // output:[3,4] 此时我们创建了一个包含2个元素的数组,[]中只能是常量,因为数组在创建的时候必须是确定的。slice:slice 这个对象在 golang 中是一个比较特殊的存在,从不同的角度观察,有时像引用类型,有时又不像,具体是什么情况呢?下面会说到。 slice1 := make([]int, 2, 4) slice1 = append(slice1, 6) fmt.Println(slice1) // output:[2,4,...阅读全文

博文 2020-03-23 10:32:43 thomaston

使用GVM管理Go版本的方法介绍

Go语言是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。下面就来由go入门教程栏目为大家介绍一下使用GVM管理Go版本的方法。 安装GVM$ bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)安装完成后会在用户自己的home目录下生成.gvm目录。$ ls -al ~/.gvm使用GVM查看当前机器的Go环境 $ gvm list gvm gos (installed) system 这里只显示了一个system,这是系统原来安装的一个Go版本。查看所有可安装的Go版本 $ gvm listall ... 安...阅读全文

博文 2020-08-31 18:32:44 MO_ON_e503

Wisdom Chain内核设计理念(一)

验证式规则编程区块链的概念始于比特币,到今天为止,至少也有10年以上的历史了。一份比特币白皮书,一份比特币程序,开启了区块链的时代。这些年来,涌现了一轮又一轮的设计思想,光是共识机制,就衍生出了若干种,经济模型的设计更是百花齐放。整个社区,都为一次又一次新概念的出现而欢呼。纵观计算机发展史,除了早期的集成电路的出现以及后来的互联网浪潮,很少有一门技术产品能引起全社会讨论的热潮,并且横扫世界各国的政府、金融机构以及实体产业。讨论的话题从技术到经济,再到场景应用,再到价值思想,可以说是涵盖了相当广泛的范围。可惜的是,就像早先的宗教一样,作为区块链概念创始之初是比特币,其创始人也一早就消失了,这就带来一个问题,后世之人对其中的思想可以产生各种解读,而由于“圣人”不在,概念见地林林总总,因此谁也说不...阅读全文

博文 2020-09-18 17:33:10 一位颜值忽高忽低年轻人

从零开始的数组,这么设计么是为什呢?

为什么数组要从零开始? 如题,数组第一个元素为什么要从零开始,而不从一开始?感觉这很反人类呀,正常来讲,一个集合的开始,不应该从一吗? 对于这个问题,我觉得可以从以下两方面来考虑。 1设计层面 我们先了解一下数组最基本的结构和寻址方式(即实现方式)。 现在市面上无论是C、Java、PHP,还是Go或者其他编程语言,他们数组的实现方式,应该都是一样的:一段连续的内存。 file 数组在分配内存的时候,我们会知道数组的 开始地址 (PS:在目前下标为零的情况下,也等同于数组的第一个元素的地址) 111.png 因为数组中每个元素的类型都是相同的,所以每种类型所占的内存大小是固定的,因而导致数组中每个元素的所占的内存大小都是相同的 file 由此我们可以得出,数组中每个元素地址的计算公式: // ...阅读全文

Wisdom Chain内核设计理念(一) 验证式规则编程

区块链的概念始于比特币,到今天为止,至少也有10年以上的历史了。一份比特币白皮书,一份比特币程序,开启了区块链的时代。这些年来,涌现了一轮又一轮的设计思想,光是共识机制,就衍生出了若干种,经济模型的设计更是百花齐放。整个社区,都为一次又一次新概念的出现而欢呼。纵观计算机发展史,除了早期的集成电路的出现以及后来的互联网浪潮,很少有一门技术产品能引起全社会讨论的热潮,并且横扫世界各国的政府、金融机构以及实体产业。讨论的话题从技术到经济,再到场景应用,再到价值思想,可以说是涵盖了相当广泛的范围。可惜的是,就像早先的宗教一样,作为区块链概念创始之初是比特币,其创始人也一早就消失了,这就带来一个问题,后世之人对其中的思想可以产生各种解读,而由于“圣人”不在,概念见地林林总总,因此谁也说不了谁,犹如基督...阅读全文

博文 2020-09-18 17:33:01 鲨鱼辣椒007

编程入门

编程入门 什么是编程 我们通过有固定格式和固定词汇的“语言”来控制他人,让他人为我们做事情。语言有很多种,包括汉语、英语、法语、韩语等,虽然他们的词汇和格式都不一样,但是可以达到同样的目的,我们可以选择任意一种语言去控制他人。 同样,我们也可以通过”语言“来控制计算机,让计算机为我们做事情,这样的语言就叫做编程语言(Programming Language)。 编程语言也有固定的格式和词汇,我们必须经过学习才会使用,才能控制计算机。 总结:编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错,达不到我们的目的。

阅读全文

博文 2020-07-07 17:45:24 无心文先森

数据结构和算法(Golang实现)(1)简单入门Golang-前言

数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。 我们会先简单学习一下Golang,然后进入计算机程序世界的第一个大门。 系列文章首发于:https://goa.lenggirl.com。 简单入门Golang 我们只学Golang语言的一个子集,足以开展接下来数据结构和算法的实现即可。 一、前言 Golang语言是谷歌Google公司在2007年启动,并在2009年正式发布并开源的高级编程语言。开源地址:https://github.com/golang/go,官网地址:https://golang.org。 Golang语言语法简单,支持多平台交叉编译(Linux/Mac/Windows),支持内存...阅读全文

2020-10-18

多种编程语言的hex string转换为字节数组实现方法 hex string也被称为16进制字符串,由"0123456789abcdefABCDEF"中的若干多个字符组成16进制字符串。因为一个16进制字符相当于2进制的4个位(例如:16进制"a"表示为2进制的"1010"),一个字节是8位组成(例如:一个字节用2进制表示为"10101011",用16制表示为"AB")。所以,16进制字符串(需要转换为字节数组)的长度必须是偶数。"AB1"和"efab3"是不符合的,而"AB11"是符合的。 我们在项目研发过程中,经常会在各个组件中传送字节组的16进制字符串,所以各组件(不同编程语言实现)需要对16进制字符串进行解码,最终产生字节数组对象。有感于不同编程语言中迥然不同的语法,整理了我们区块...阅读全文

博文 2020-10-20 16:32:44 francis_xiiiv

2020全新升级版-Google资深工程师深度讲解Go语言

​适合人群及技术储备要求如果你已经掌握了一门编程语言,想转型Go语言工程师,或者是对Go的基础语法有简单的认识,想更深层次的了解Go语言那么本门课程非常适合你技术储备要求:至少掌握一门编程语言具有一定项目基础和工作经验者学习效果更佳下载地址:百度网...阅读全文

Go语言学习路线(十四)--Go语言并发编程

> 本文参考 [**嗨客网**](https://haicoder.net) 的 [**Go语言教程**](https://haicoder.net/golang/golang-tutorial.html) **关键词**: `Go语言包` `Go语言包特性` `Go语言包引用` `Go语言包导入` `Go语言包引用方式` `Go语言常用内置包` `Go语言自定义包` `Go语言导出包标志符` `Go语言包结构体可访问性` `Go语言包函数可访问性`   # **Go语言并发编程(上)** ## **前言** 我们在学习一门编程语言,最开始拥有一个清晰的学习路线,是十分重要的,只有知道了自己需要学什么,才能更好的激发学习的激情。学习...阅读全文

Go语言学习路线(十三)--Go语言包

> 本文参考 [**嗨客网**](https://haicoder.net) 的 [**Go语言教程**](https://haicoder.net/golang/golang-tutorial.html) **关键词**: `Go语言包` `Go语言包特性` `Go语言包引用` `Go语言包导入` `Go语言包引用方式` `Go语言常用内置包` `Go语言自定义包` `Go语言导出包标志符` `Go语言包结构体可访问性` `Go语言包函数可访问性`   # **Go语言包** ## **前言** 我们在学习一门编程语言,最开始拥有一个清晰的学习路线,是十分重要的,只有知道了自己需要学什么,才能更好的激发学习的激情。学习就像是我们在...阅读全文

新人自学编程应该去哪里学?

## 自学编程首先 JSRUN JSRUN 是一个强大功能的在线编辑器,更是一个编程学习网站 [点击进入JSRUN](http://jsrun.net/) JSRUN是支持在手机或平板上编写代码的编辑器,可以在线运行Node.js、PHP、Java、C语言、C++、Python、Go语言、Kotlin、Rust、Dart、R语言、C#、Ruby、objc、F#、VB.NET、Swift、clojure、Groovy、Lua、Pascal、Perl、Shell、Erlang、Scala、Haskell、Nim、Lisp、OCaml、Racket 30种编程语言。 同时也有以上三十多种编程语言全套教程,更有十多种开发框架教程,JSRUN  为大家提供了免费学习编程的机会 ...阅读全文