[go]---从java到go(01)---基础与入门上手

为什么用go,就是为了快速响应并且高并发。
一样的逻辑,用java也能实现,但用go可能就比java快点。
如果你很熟练java了,那么学习go就会很快。
go的社区环境相比java没那么大,但一般问题都足够了。
go是谷歌出品,无脑追求性能。

go学习01
go学习02

先来个简单的go版hello word:
在这里插入图片描述

package mainimport ("fmt""strings""unsafe"
)func init() {fmt.Println("init方法执行================================")
}
//hello world
func main() {fmt.Println("hello world")fmt.Println("hello," + ",world")fmt.Println("测试数值===============================")testNumber()fmt.Println("测试布尔类型===============================")testBool()fmt.Println("测试字符串===============================")testString()fmt.Println("测试常量===============================")testConst()
}func testNumber() {var a1 = 2var a2 = 26fmt.Println("a1:", a1)fmt.Println("a2:", a2)fmt.Println("a1+a2:", a1+a2)//数值加减var a float32 = 12var b float32 = 13.222fmt.Println("a:",a)fmt.Println("b:",b)fmt.Println("a + b:",a + b)
}var isActive bool                 //全局变量声明
var enable, disable = true, false //忽略类型声明
func testBool() {var available bool //一般声明valid := false //简短声明available = true //赋值操作fmt.Println("isActive:", isActive)fmt.Println("enable:", enable)fmt.Println("disable:", disable)fmt.Println("available:", available)fmt.Println("valid:", valid)
}func testString() {str := "a a a\n b b b \n ccc"str = strings.Replace(str, " ", "", 1)fmt.Println("去除一个空格", str)str = strings.Replace(str, " ", "", -1)fmt.Println("去除所有空格", str)
}func testConst() {//常量是一个简单值的标识符,在程序运行时,不会被修改的量。//常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。const LENGTH int = 10const WIDTH int = 5var area intconst a, b, c = 1, false, "str" //多重赋值area = LENGTH * WIDTHfmt.Println("面积为 : ", area)fmt.Println(a, b, c)const ( // 枚举,数字 0、1 和 2 分别代表未知性别、女性和男性。Unknown = 0Female = 1Male = 2)fmt.Println("Unknown:",Unknown)const (a1 = "abc"b1 = len(a1)c1 = unsafe.Sizeof(a1))fmt.Println("a1:",a1)fmt.Println("b1:",b1)fmt.Println("c1:",c1)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499794.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[go]---从java到go(02)---一个简单的handler模式的实现

类似于责任链模式吧,不同类实现相同的入参,执行不同的操作,一个执行完再确定要不要执行下一个。 用go实现: 1.定义一个接口 后面所有的handler都要实现这个接口的handler方法 type IHandler interface {/**true 表示通过 false…

[数据库] --- clickhouse

clickhouse是一个列式数据库(系统)。 官方文档 官网比较全,但也可以说比较杂,下面就是我个人的一些总结,以及在实际工作中的应用场景。 1.clickhouse适用场景 clickhouse主要适合那种大量数据做分析的场景。 一般数据…

错误记录:expected single matching bean but found 2

springboot项目,之前有mysql数据源,现在又新增了clickhouse数据源,于是 新增了一个clickhouseDatasource的配置bean,如下: Beanpublic DataSource dataSource() throws PropertyVetoException {HikariConfig config …

消息队列(5):RocketMQ

介绍 RocketMQ是一款成熟的分布式消息中间件。 由阿里2012年开源,2017年成为Apache顶级项目。 源码是java写的。 高性能,低延迟,高可靠。历经多次双十一大促,整体很稳定。 RocketMQ对比其他mq的优势 对比kafka和Rabbitmq&#…

[错误记录] --- clickhouse报错Decimal value is too small

java操作clickhouse数据库,执行insert的时候,报错: Exception in thread "main" ru.yandex.clickhouse.except.ClickHouseException: ClickHouse exception, code: 69, host: xx.xx.xx.xxx, port: xxxx; Code: 69, e.displayText(…

[错误记录] --- rocketmq批量消费设置参数的问题

rocketmq想支持批量消费,于是便设置以下参数: consumer.setConsumeMessageBatchMaxSize(1000);这样是正确的,但由于业务要求,还想再设置大点,于是设置成这样: consumer.setConsumeMessageBatchMaxSize(10…

rocketmq批量消费

rocketmq默认就是可以批量消费的,但需要设置多个参数一起配合。 我们只需要知道他是怎么消费的,就可以很精准的设置他的批量消费参数。 我们看看DefaultMQPushConsumer源码中的这几个参数: /*** 消费消息线程,最小数目*/private …

阿波罗配置中心(apollo)的个人看法

阿波罗应该是近几年比较火的一个分布式配置中心了,说说我个人的理解,希望对一些人有用吧。 首先从使用者的角度想 我们怎么用配置中心的? 1.得有个页面,能有权限管理,能有创建配置key-value。 在阿波罗中&#xff…

架构师成长之路

一个架构师要掌握的最基本的数学知识 知识点备注log三角函数二项式定理多项式合并极限幂函数泰勒级数傅里叶级数概率

消息队列(4):Kafka

介绍 kafka是一个支持分布式的消息系统,基于发布/订阅模式。 kafka由LinkedIn公司开发,2010年成为Apache顶级项目。 源码是由java写的。 基本概念 1、Broker kafka集群中的每台机器,都叫一个broker. 2、Topic(主题&#xff0…

clickhouse的ReplacingMergeTree引擎实战

学习ReplacingMergeTree引擎,首先你得了解clickhouse的MergeTree引擎,因为ReplacingMergeTree引擎是MergeTree引擎的一个扩展版引擎,他拥有和MergeTree一样的功能,同时新增了一个删除相同主键数据的功能。 我们知道,cl…

clickhouse 分片

我们知道mysql数据库如果想做分片,需要使用第三方组件,这是因为mysql在设计之初就没有太多考虑分布式等问题。而clickhouse作为新生代性能之王,分片也是必须的功能。基本上从2015年之后的各种数据库也罢,框架也罢,都开…

[记录] ---阿里云java.io.IOException: Connection reset by peer的问题

项目部署到阿里云,突然报错,频繁的打印堆栈信息,一开始是把堆内存打满导致服务一直重启,调大堆内存后就不影响正常服务了,但还是一直打堆栈,虽说日志会自动清理,但一直打这个信息着实不好看。 最…

数据库缓存双写一致性的一些个人想法

数据库缓存双写一致性的一些个人想法 有这么个问题,还是经典面试题: 说我们有个数据库,他的读请求特别多,以至于要在数据库上加一层缓存来抗压,这个都能理解吧。 这里的缓存,可能是和数据库一样的数据&am…

2020年规划

1.去其他城市,市级城市超过3个。 2.继续想着通过其他方式赚钱。 3.选一个技术体系,搞精通,比如数据库,比如高并发分布式等 4.搞个自己的网站,国庆前平均每天100访问量。 5.12点前睡觉 2020年1月5日,2020年…

实用的java代码生成器,开箱即用(基于mybatisplus的AutoGenerator)

spring-boot工程下&#xff0c;自动生成代码&#xff0c;controller层&#xff0c;service层&#xff0c;mapper层。 根据数据库配置好的表&#xff0c;逆向生成实体类和各层结构 1、引入maven <dependency><groupId>com.baomidou</groupId><artifactId&…

mac/windows 端口占用解决记录

idea启动报错&#xff1a;端口占用 The port may already be in use or the connector may be misconfigured mac端口占用解决 zhangshuaideMacBook-Pro:~ zhangshuai$ lsof -i:8095 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME Google 375 zhangshuai 32u IPv6 0x…

[配置中心] --- consul

mac下载安装consul 1、下载&#xff1a;consul下载地址 2、解压到目录/usr/local/bin下 3、执行consul文件 4、验证&#xff1a;控制台输入consul验证 5、启动consul&#xff1a;consul agent -dev windows安装consul 1、下载&#xff0c;解压到D:\soft&#xff0c;将这个路…

[java基础] --- java开发,service层是不是一定要写接口

估计很多java开发的同学都遇到过&#xff0c;service层要写一个接口&#xff0c;然后再写接口的实现类&#xff0c;但这个接口从项目开始到项目倒闭&#xff0c;都不会有第二个实现&#xff0c;那为什么不直接写个service类呢&#xff1f;如果你还没想过这个问题&#xff0c;那…

浅谈权限(功能权限数据权限)

一般企业上的权限部分&#xff0c;都是区分为功能权限和数据权限。 一、功能权限 功能权限&#xff0c;就是用户登录后&#xff0c;能看到哪些菜单&#xff0c;能看到哪些按钮&#xff0c;能执行哪些操作的权限。 一般&#xff0c;功能权限&#xff0c;已经都有很成熟的业内方…