当前位置: 首页 > news >正文

学习新语言方法总结(一)

随着工作时间越长,单一语言越来越难找工作了,需要不停地学习新语言来适应,总结一下自己学习新语言的方法,这次以GO为例,原来主语言是PHP ,自学GO

了解语言特性,知道他是干嘛的

    go语言(或 Golang)是Google开发的开源编程语言,诞生于2006年1月2日下午15点4分5秒,于2009年11月开源,2012年发布go稳定版。Go语言在多核并发上拥有原生的设计优势,Go语言从底层原生支持并发,无须第三方库、开发者的编程技巧和开发经验。

    总结:简单、高并发,现在很多php开发者都在学习go,解决并发瓶颈问题,这个时候不深究,知道就好,不要一上来就研究个123

语言环境安装

    所有的语言网上都一大把安装教程,还有很多集成环境,实在搞不定直接docker拉取镜像,这个时候搭建好输出个hello world就好,不要想太多

    这个时候不去研究语言代码的项目框架,仅仅是能跑起来,后面慢慢学习中就知道项目代码的目录结构了

数据类型

        看着很多类型吧,每个语言都很多,这个时候就要开始提炼,有了其他语言基础,我们就可以提取出来常用的

        bool、byte、int、float、string、array、map

        slice、channel、interface

        function、struct

        第一行基本每个语言都很常规,用法也都大差不差,int float都有细分的类型

        第二行是go与php不同的类型,这三个就可以重点学习一下,了解用法及特性

        第三行function用在匿名函数,php里面也有。struct在go里面用于oop编程,是个很重要的类型

go的数据类型看着很多,提炼后其实也很简单,知道几个特性类型,然后有目标的深入研究,很快就可以掌握

变量声明方式

    php是弱类型语言,变量命名时很简单,$a = 1; 就完成了,这也导致学习强类型语言时感觉处处都很麻烦(不要害怕,多看几遍就会了,大不了就背下来,当然建议还是理解为主)

    go的变量声明有三种基础方式

    var a int

    var a int = 1  或 var  a = 1

    a := 1   这种方式需要在函数内使用

    还有批量声明,括号内声明

    var (

        a string

        b int

    )

    声明到处都在用,先知道,手敲几遍,后面写了代码很快就熟悉了

流程控制

    这个就太简单了,每个语言都差不多,无非就是了解写法

    golang中没有while循环,可以用for实现,go里面的select比较特殊一些,可以手敲理解一下,主要和channel配合使用

到这里,就搭建好了环境,知道了哪些数据类型、流程控制,是不是感觉很简单,从头看到尾估计也就十几分钟的时间。这个时候我们先不急往下进行,我们需要先手敲代码熟悉数据类型、流程控制与PHP的区别

问题来了,怎么熟悉呢?手敲可以,我敲什么呢,乱敲很痛苦。

这个时候可以到leetcode上找几道简单难度的算法题试试,提高算法的同时也能熟悉golang语法,写不出来还可以看看题解,像大神学习

http://www.lryc.cn/news/384897.html

相关文章:

  • Mysql数据的备份与恢复
  • 规上!西安市支持培育商贸企业达限纳统应统尽统申报奖励补助要求政策
  • Go语言测试第二弹——基准测试
  • 关于“刘亦菲为什么无人敢娶”的问题❗❗❗
  • LeetCode:经典题之141、142 题解及延伸
  • rk3568 OpenHarmony 串口uart与电脑通讯开发案例
  • canvas画布旋转问题
  • vue3 【提效】自动导入框架方法 unplugin-auto-import 实用教程
  • clip系列改进Lseg、 group ViT、ViLD、Glip
  • Ubuntu下TensorRT与trtexec工具的安装
  • MySQL定时任务
  • Pandas实用Excel数据汇总
  • 【计算机网络】[第4章 网络层][自用]
  • Unity3D Entity_CacheService实现详解
  • DLMS/COSEM协议—(Green-Book)Gateway protocol
  • Android高级面试_12_项目经验梳理
  • 【项目实训】解决前后端跨域问题
  • Java反射API详解与应用场景
  • 【例子】webpack 开发一个可以加载 markdown 文件的加载器 loader 案例
  • 揭秘!这款电路设计工具让学校师生都爱不释手——SmartEDA的魔力何在?
  • onlyoffice实现打开文档的功能
  • 基于 SpringBoot + Vue 的图书购物商城项目
  • 如何使用kimi智能助手:您的智能生活小助手
  • sql操作
  • 开关电源调试记录-基于DK112(DK1203也一样)作为开关主控芯片的开关电源
  • 【自然语言处理】GPT-5技术突破预测:引领自然语言处理革新的里程碑
  • qt基本窗口类(QWidget,QDialog,QMainWindow)
  • 最新收录历年地震数据,含时间、位置、类型、震级等信息
  • C++ 串口读写
  • WebRTC系列实战-自定义RTP中的extension