Go语言程序设计

Go语言概述语言历史Go语言也称为Golang,是由Google公司开发的一种静态强类型、编译型、语言原生支持并发、具有垃圾回收功能的编程语言。起源于2007年,并在2009年正式对外发布。Go语言是非常年轻的一门语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++等编译型语言的性能与安全性”。Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发...阅读全文

Segmentfault 2021-02-28 13:32:33 xialeistudio

手撸golang 基本数据结构与算法 归并排序

缘起最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一)本系列笔记拟采用golang练习之归并排序归并排序算法会把序列分成长度相同的两个子序列, 当无法继续往下分时(也就是每个子序列中只有一个数据时), 就对子序列进行归并。 归并指的是把两个排好序的子序列合并成一个有序序列。 该操作会一直重复执行,直到所有子序列都归并为一个整体为止。 总的运行时间为O(nlogn),这与前面讲到的堆排序相同。 摘自 <<我的第一本算法书>> 【日】石田保辉;宫崎修一流程给定待排序数组data[N]创建缓...阅读全文

Segmentfault 2021-02-28 10:32:32 ioly

Python中看起来高大上的技术!

很多时候python都被人称为玩具语言,很多人看不起python,觉得它们不如Java,golang,c这些语言的高效,也不如bash这些脚本语言正统,然而我想说的是,存在即合理,特别是python占有这么多的市场份额就足以说明它的使用价值,我们都知道python学起来很简单,那么python是不是就没有复杂的技术需要深入学习了呢?接下来我就谈一谈python中那些并不简单的技术。 元编程简单来说,元编程就是可以操作目标语言的语言,比如说,我有一个类,我想要在生成类的时候,获取到类的信息,那么这...阅读全文

简书 2021-02-25 08:32:39 跟着柒柒学python

Go1.16 embed 实践

简介 就在上周,Go 发布了 GO1.16 版本,此次更新带来了几个新特性,如 embed 原生支持,macos M1 处理器的支持,默认开启 go modules 等等。 在 embed 加入之前,go build 出来的二进制文件默认是不包括非代码文件的,比如开发一个 web 网站,要放到生产服务器运行,我们必须连同配置文件,html 资源文件一起上传到服务器执行,非常的难受。 当然社区也有一些方法实现将资源文件打包到编译后的二进制文件,但比较复杂,go1.16 直接引入 embed 解决了...阅读全文

简书 2021-02-25 08:32:37 PurelightM_d697

2020-02-24:arr是面值数组,其中的值都是正数且没有重复。再给定一个正数aim。每个值都认为是一种面值,且认为张数是无限的。返回组成aim的最少货币数。

福哥答案2020-02-24: 自然智慧即可。 1.递归。有代码。 2.动态规划。dp是二维数组。有代码。 代码用golang编写,代码如下: package main import ( "fmt" ) func main() { arr := []int{1, 2, 3} aim := 8 ret := minCoins1(arr, aim) fmt.Println("1.递归:", ret) ret = minCoins2(arr, aim) fmt.Println("2.动态规划:", r...阅读全文

简书 2021-02-25 08:32:37 福大大架构师每日一题

搭建Coolpy+MQTT 服务

搭建Coolpy+MQTT 服务 下载 # 官网 http://coolpy.net/ # 主服务 https://github.com/Coolpy7/Coolpy7 # 拓展服务 https://github.com/Coolpy7/coolpy7_extend_service 拓展服务实现账号密码验证 启动 # 启动coolpy7_extend_service 启动参数 # l 当前服务Host地址 (默认为:5683即本地5683端口,此参数一般默认即可, # 无需配置, 使用UDP连接...阅读全文

简书 2021-02-25 08:32:36 我是不会赢的

手撸golang 基本数据结构与算法 归并排序

缘起 最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一) 本系列笔记拟采用golang练习之 归并排序 归并排序算法会把序列分成长度相同的两个子序列, 当无法继续往下分时(也就是每个子序列中只有一个数据时), 就对子序列进行归并。 归并指的是把两个排好序的子序列合并成一个有序序列。 该操作会一直重复执行,直到所有子序列都归并为一个整体为止。 总的运行时间为O(nlogn),这与前面讲到的堆排序相同。 摘自 <<我的第一本算法书>> 【日】石田保辉;宫崎修一 流程 给定待排序数组data...阅读全文

简书 2021-02-25 08:32:35 老罗话编程

go基础教程(一):第一个程序-hello word

环境搭建 环境搭建是在deepin操作系统上进行 1. 下载go安装程序 wget https://golang.org/dl/go1.16.linux-amd64.tar.gz 以上是下载go1.16的版本,如需其他版本,轻移步官网下载。 2. 解压程序包到指定目录 tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz 3. 添加环境变量 linux 操作系统可将环境变量添加到$HOME/.profile文件 或 /etc/profile文件中,具体...阅读全文

51CTO博客 2021-02-24 13:28:10 晓冬编程

寒假24天.我写了个小米商城.MVC架构前后端分离

# 写在前面 2021-1-27至2021-2-19,从早上九点写到晚上十一点,耗时24天;共计52个Go文件,55个HTML文件,15个CSS文件,10个JS文件,18张数据表。在大地老师的细心教导之下,我总算在开学之前完成了GoLang+BeeGo---仿小米商城项目。我只是一名普普通通的大二学生,不是什么大佬;纯手写的话肯定是不可能在这么短的时间内完成的。我也是购买了大地老师的课程,跟着他的脚步,一点一点从0到1写完的。有一说一大地老师真的讲得很好,他就是属于那种讲课讲得非常细的老师;我...阅读全文

Go语言中文网 2021-02-24 20:01:15 Java_S

【GO】GO语言资料包

GO视频资料包01.Go语言介绍.mp402.基础环境介绍.mp403.环境准备&HellWorld.mp404.变量.mp405.常量&作用域.mp406.布尔类型.mp407.整数.mp408.浮点数.mp409.字符串.mp410.指针.mp411.用户数据输入.mp412.if表达式.mp413.switch表达式.mp414.for表达式.mp415.goto&作业.mp416.数组.mp417.切片.mp418.多维切片.mp419.映射.mp420.字符串常用函数.mp421.字节...阅读全文

简书 2021-02-24 19:32:50 冷静且无敌

【golang】反射学习笔记

go的反射不同于java,可以通过TypeOf和ValueOf两种方式,且go不能通过反射修改私有变量,也不能通过反射调用私有方法。 1、TypeOf 代码: /* typeof返回类型,不带值 */ type B struct { a string //private C int //public } //public func (b *B) SetA(a string) { b.a = a } //private func (b *B) setC(c int) { b.C = c } fun...阅读全文

简书 2021-02-24 19:32:49 第一千零一名_5a5d

golang使用指针修改数据引起的血案

背影知识: golang 中的struct和slice为值赋值, map为引用赋值;range语句for k, v := range val 这里的v只申明了一次,每次迭代只会更新值 我们在平时应该会经常用到用指针把修改复杂对象(struct、slice、map)属性的需求,今天小编就把踩过的一个小坑跟大家分享下: 先上下代码: package main import ( "fmt" ) // Node node type Node struct { Val int } var nodes []...阅读全文

简书 2021-02-24 19:32:48 tonnyzhang

用golang+vue+mysql全栈制作一个博客

Ginblog(项目已完成,欢迎使用)https://gitee.com/wejectchan/ginblog重要更新2021.2.12 为了交流方便,建立了一个QQ群:951736723,如果有问题,欢迎进群交流。2021.2.10 增加了展示页面的移动端适配2021.1.2 加入注册、登录、评论功能,后台管理加入评论审核功能2021.1.3 增加 登录、注册验证功能;增加评论数量显示;增加阅读数量显示增加:文章页面评论数、阅读数介绍gin+vue 全栈制作一个博客。这是一个分享全栈制作过程的...阅读全文

Segmentfault 2021-02-28 08:32:33 wejectchen

计算机组成原理-02-相关背景(二)

计算机的编程语言 翻译型语言:C/C++、Objective-C、Golang 解释型语言:Python、Php、JavaScript 翻译+解释型语言:Java、C# 程序翻译和程序解释 计算机只能理解二进制这样的比特位,无法理解人类的语言,所以需要做语言之间的转换。 假设现在有高级的程序语言A,和低级的程序语言B(B能被计算机直接执行) 程序翻译 我们用A编写的代码会先生成B语言代码,再交由计算机执行。 将A生成B的工具叫编译器,生成的过程叫程序翻译。 image-2021022223322...阅读全文

简书 2021-02-24 15:35:15 wuyou1998

go基础编程(一):第一个go程序-hello word

环境搭建环境搭建是在deepin操作系统上进行1. 下载go安装程序wget https://golang.org/dl/go1.16.linux-amd64.tar.gz以上是下载go1.16的版本,如需其他版本,轻移步官网下载。2. 解压程序包到指定目录tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz3. 添加环境变量linux 操作系统可将环境变量添加到$HOME/.profile文件 或 /etc/profile文件中,具体配置如下:exp...阅读全文

Segmentfault 2021-02-27 19:32:33 大漠路人

go get下载包失败问题

由于某些不可抗力的原因,国内使用go get命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。从github克隆golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://golang.org/x/net的镜像库。 要下载golang.org/x/net包,可以在本地创建包的目录后使用git clone来拉取相应包的源代码文件,具体操作如下:mkdir -p $GOPATH/src/golang.or...阅读全文

51CTO博客 2021-02-24 13:49:18 mb601ce5f172788

cobra-强大的CLI应用程序库

cobra介绍Cobra是一个用于创建强大的现代CLI应用程序的库,也是一个用于生成应用程序和命令文件的程序。Cobra用于许多Go项目,如Kubernetes、Hugo和Github CLI等。此列表包含了使用Cobra的更广泛的项目列表。概述Cobra是一个库,提供了一个简单的界面来创建功能强大的现代CLI界面,类似于git&go工具。Cobra还是一个应用程序,它将生成您的应用程序框架以快速开发基于Cobra的应用程序。眼镜蛇提供:简单易用的基于子的CLI:app server,app f...阅读全文

Segmentfault 2021-02-27 21:32:33 happlyfox

golang关于for循环的用法

for...range支持迭代 数组、切片、字符串、map、只读channel或可读可写channel;for...range迭代类型不同返回值不同,数组、切片、字符串返回下标和值,map返回键和值,channel返回值;1、for与for range在遍历字符串时的差别package main import "fmt" func main() { str := "abcd中国人" n := len(str) for i := 0; i < n; i++ { fmt...阅读全文

Go语言中文网 2021-02-24 14:27:02 yanglikai