不同语言操作符的优先级

看到标题,可能会心生疑惑: 这么基础且重要的操作,不同语言不应该是一致的吗?

并不一定,比如对于右移运算和加法运算,Go就与其他多数语言表现得不一致:

Go:

go 复制代码
package main

import "fmt"

func main() {
    fmt.Println(1+2>>1) // 2
}

Java:

java 复制代码
import java.io.*;
class test  
{
	public static void main (String[] args) throws java.lang.Exception
	{
		System.out.println(1+2>>1); // 1
	}
}

C/C++:

C 复制代码
#include <stdio.h>

int main(void) { 

    int a = 1+2>>1;
	printf("%d\n",a); // 1
	return 0;
}

nodejs:

js 复制代码
console.log(1+2>>1); // 1

python:

python 复制代码
#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
if True :
	aaa=1+2>>1 
	print(aaa) // 1
	print(sys.version) //3.8.6 (default, Sep 24 2020, 21:45:12)  [GCC 8.3.0]

php:

php 复制代码
<?php
$aa=1+2>>1;
echo 'hello '.'1+2>>1运算结果为:'.$aa."\n"; // hello 1+2>>1运算结果为:1
echo date('Y-m-d H:i:s',time())."\n"; // 20xx-08-28 14:33:23
echo "PHP版本:".phpversion();  // PHP版本:7.4.10
?>
相关推荐
QZQ5418816 分钟前
go中reflect的底层原理
后端
白衣鸽子17 分钟前
CAP理论:分布式系统的“不可能三角”
后端·架构
焰火199922 分钟前
[Java]基于Spring的轻量级定时任务动态管理框架
java·后端
Victor3561 小时前
Redis(69)Redis分布式锁的优点和缺点是什么?
后端
Victor3561 小时前
Redis(68)Redis的Redlock算法是什么?
后端
IT_陈寒1 小时前
Java性能调优:这5个被你忽略的JVM参数让你的应用吞吐量提升50%!
前端·人工智能·后端
自由的疯1 小时前
Java Kubernetes本地部署
java·后端·架构
自由的疯2 小时前
Java Kubernetes本地部署RuoYi框架jar包
java·后端·架构
叶梅树2 小时前
从零构建量化学习工具:动量策略(Momentum Strategy)
前端·后端·机器学习
驰羽12 小时前
[GO]什么是热重载,如何使用Air工具
开发语言·后端·golang