JAVA、python、Go的复制语句

一、JAVA的自增、自减语法

1 //对自增(减)变量来说,"a++"和"++a"是一样的 2 int a = 100; 3 System.out.println("a:" + a); 4 5 a++; 6 System.out.println("a:" + a); //输出自加后的结果:101 7 8 int c = a++; //先赋值再自加,c的结果:101,a的结果102 9 System.out.println("a:"+a+" c:" + c); 10 11 c = a + 1; //这个是正常的运算 12 System.out.println("a:"+a+" c:" + c); 13 14 int d = ++a; //先自加再赋值,d的结果为103,a的结果为103 15 System.out.println("a:"+a+" d:" + d);

二、python的自增、自减语法

Python中是没有++和--的。那么要实现自增和自减的话,可以使用如下操作:

1a = a + 1 23a += 1

原因是python中的数字类型是不可变数据。也就是数字类型数据在 内存 中是不会发生改变,当变量值发生改变时,会新申请一块内存赋值为新值,然后将变量指向新的内存地址。
所以对于python来说,是没有自增一说的。

1>>> a = 10 2>>> id(a) 3140530470127960 4>>> a += 1 5>>> id(a) 6140530470129080

+= 是改变变量,相当于重新生成一个变量,把操作后的结果赋予这个新生成的变量。
++ 是改变了对象本身,而不是变量本身,即改变数据地址所指向的内存中的内容。

int理论上是每次赋值都创建一个新对象的。但是由于使用频繁,为了提升性能避免浪费,所有 python 有个 整数池,默认 [-5, 256] 的数字都属于这个整数池,这些每次赋值的时候,是取得池中的整数对象。但是其他的除外,如下:

1>>> a = 5 2>>> b = 5 3>>> id(a) 4140530470128360 5>>> id(b) 6140530470128360 7>>> a is b 8True 9 10>>> c = 257 11>>> d = 257 12>>> id(c) 13140530470136432 14>>> id(d) 15140530470136408

有时候在 Python 中看到存在 ++i 这种形式,这其实不是自增,只是简单的表示正负数的正号而已。正正得正,负负得正,所以 ++i 和 --i 都是 i 。

三、go的自增、自减语法

在Go中 ++-- 只能作为语句而非表达式。

示例:

1a := 1 2a ++ // 注意:不能写成 ++ a 或 -- a 必须放在右边使用 3// b := a++ // 此处为错误的用法,不能写在一行,要单独作为语句使用 4 5fmt.Println(a) // 2
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''