开发用py和go 入职前学了几天py入职后看的代码也是py 现在终于还是要学go了

初体验:感觉和c py都很像 入门语法看起来很简单的样子 学了py之后现在各种随意 需要多注意

在函数传参的时候 c是传进去的值or引用取决于值or地址 py里面是可变与不可变变量 go好像又像py又像c 它支持指针,但是slice和array在做参数的时候又像py了。。

Golang中 定义接口方法结构体的时候要注意首字母大写不然会出奇怪的错误。。这是一个“公有私有“的概念,不能使用其他包的首字母为小写的方法以及结构体什么的 // 原则上也不能全都大写

Interface是一个神奇的东西,啥都能实现空的它

但是非空的就有点不太明白,目前用到空interface的地方只有json的时候断言读取。。

一个结构体内部也是一个小map,于是可以通过json的marshal将它变成一个json条,这时候我们使用unmarshar做一个json_tuple的操作,将json条转到一个interface{}类型的变量上,那么它就会变成一个map[string]interface{}变量,通过断言就可以forrange循环访问了

断言可能会失败什么的 可以加一个返回err来判断一下,这个err感觉很像java中的try抓取 不同的是必定会返回一个bool

Godep看起来是一个这样的东西,它可以解决一个依赖的问题:我调用了一个库 那么我就要把这个库和我的项目放在一起 但是这个库本身也有一个git什么的,于是采用godep,对于一个git文件 用save创造出它的Godep.json 这里面有各种依赖,并且在同级的文件夹workspace中应该有所有的依赖库 于是这样可以很容易的将依赖库放到我这个里面并且更改import # 然而我现在失败了啊。。

真正开始用go来写东西了,感觉弄懂了逻辑之后其实写go和之前用c做题差不多,甚至更容易些,不过需要多注意的是error问题,因为不和之前做题一样,我知道bfs一定会成功执行,但是在写东西的时候都要考虑到,什么时候都要if err!=nil一下。

在使用到interface的时候遇到了很多问题,go并不能隐式类型转换,于是我明知道这是个int的string但是转化就很麻烦,在对一个map[string]interface的结构体做操作的时候尤为麻烦,好在发现model库里面有这个结构体的type定义,直接声明一个结构体让他等于这个map接口就可以访问了,但是不知道还有什么别的方法硬转化一下(后来发现之前的代码好像也是这么做的,大概所有能用到的结构体早就被定义了)

现在发现虽然用go写了一些代码,但是都不需要什么技术水平,都是基本语法QAQ连interface都不太理解,还需要好好学一下深层的东西。

年轻的菜尚思考了人生的意义 决心开始看书。

掏出一本go语言程序设计开始看看看。。从基本语法往后看,虽然看这本书的最初想法是观察一下go语言在并发等地方不同于别的语言的地方(一个同事告诉我,学会一个语言不是光会写语法,感觉很对) 然后虽然在学校呆了十几天还是没看完。。感觉还是有很大收获的,虽然大部分都是已经知道的东西,还是学到了很多有趣的地方,对于interface这种一开始根本不明白的小东西也看了很多有益的地方,有一个收获就是感觉看这类书不能从啥都不知道开始看,可能会错过很多东西QAQ

希望在回学校之前能够把这本书看完,然后再学习一下这本书没讲到的东西,以更了解这个语言。

转载于:https://www.cnblogs.com/rayrayrainrain/p/8513998.html

golang learning相关推荐

  1. Redis 之(二) Redis的基本数据结构以及一些常用的操作

    本篇内容是Redis最简单最容易掌握的知识,如果你已经熟知了,就可以选择跳过啦! 要体验Redis,那么首先你得安装Redis,这边的话我就只讲一下Windows环境下的安装与操作: Window 下 ...

  2. Deep Learning部署TVM Golang运行时Runtime

    Deep Learning部署TVM Golang运行时Runtime 介绍 TVM是一个开放式深度学习编译器堆栈,用于编译从不同框架到CPU,GPU或专用加速器的各种深度学习模型.TVM支持来自Te ...

  3. golang 命令行_如何使用Golang编写快速有趣的命令行应用程序

    golang 命令行 by Peter Benjamin 彼得·本杰明(Peter Benjamin) 如何使用Golang编写快速有趣的命令行应用程序 (How to write fast, fun ...

  4. Golang中Goroutine与线程

    我们在使用Go语言进行开发时,一般会使用goroutine来处理并发任务.那么大家有没有考虑过goroutine的实现机制是什么样的?很多同学会把goroutine与线程等同起来,但是实际上并不是这样 ...

  5. golang博客推荐

    作者:无忌 链接:https://www.zhihu.com/question/281186541/answer/2320616550 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  6. Go语言(golang)开源项目大全

    http://www.open-open.com/lib/view/open1396063913278.html#Compression 内容目录 Astronomy 构建工具 缓存 云计算 命令行选 ...

  7. php 辗转相除法,手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法...

    手撸golang 基本数据结构与算法 最大公约数 欧几里得算法/辗转相除法 缘起 最近阅读<>([日]石田保辉:宫崎修一) 本系列笔记拟采用golang练习之 欧几里得算法欧几里得算法(又 ...

  8. 机器学习(Machine Learning)深度学习(Deep Learning)资料(Chapter 2)

    机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) - tony的专栏 - 博客频道 - CSDN.NET 注:机器学习资料篇目一共 ...

  9. golang简介_Golang简介

    golang简介 This post intends to be an introduction to the Go programming language, also known as Golan ...

最新文章

  1. NDK学习笔记-多线程与生产消费模式
  2. 【HDOJ1043】八数码的八境界
  3. 项目优化经验——垃圾回收导致的性能问题
  4. LeetCode 1835. 所有数对按位与结果的异或和(位运算 (ab)^(ac) = a(b^c) )
  5. linux文件描述符、软硬连接、输入输出重定向
  6. mysql优化20条原则
  7. 全局唯一序列号生成器-支持分布式
  8. st语言 数组的常用方法_st语言
  9. 域——windows服务器域详解
  10. 注册快手提示服务器繁忙,快手登录失败怎么回事
  11. 了解区块链(一)——加密货币以及区块链的价值
  12. LaTeX插入大尺寸JPG图片出现纵横比异常水平被压缩的解决方法
  13. 电脑黑屏按什么键恢复?只需要3个键就可以解决黑屏
  14. 基于PHP的连锁酒店管理系统
  15. Flink 状态管理与 Checkpoint 机制
  16. 利用widget实现一个时钟功能小插件
  17. 机器人焊枪动作与编程实验_机器人实验指导用书.doc
  18. Oracle EBS GL_INTERFACE中字段STATUS数据对应的含义
  19. Android电话拨打流程源码分析
  20. 小程序粉墨登场 --奉上开发教程及书籍合集

热门文章

  1. AI时代,摄影艺术即将消失?
  2. SAP MMBE库存数量与在库序列号数量差异之处理
  3. 能“预测未来”的AI来了!谷歌DeepMind推Dreamer,训练时间减半
  4. 人脸识别落地开花 相关标准不可或缺
  5. 苏黎世大学 AI 新研究:仅用少量样本生成高质量光声图像
  6. 微软撤回了开放面部识别数据集,出于法律原因
  7. 机器学习算法与理论用到的数学知识
  8. 干货丨深度学习、图像分类入门,从VGG16卷积神经网络开始
  9. 论文速递:智能作为信息处理系统
  10. 李德毅院士:基于驾驶脑的智能驾驶车辆硬件平台架构