java中字面量和golang中字面量区别
创始人
2024-11-15 10:36:28
0

Java 和 Go 语言中的字面量(literals)在概念上是相似的,都是表示固定值的符号表示形式。然而,它们在语法和支持的类型上有一些区别:

  1. 整数字面量:

    • Java: 整数字面量可以是十进制、十六进制或二进制。Java 7 引入了二进制字面量表示法。
      int decLiteral = 123;    // 十进制 int hexLiteral = 0x7B;   // 十六进制 int binLiteral = 0b1111011; // 二进制(Java 7及以上) 
    • Go: 整数字面量同样可以是十进制、十六进制或二进制。Go 语言也支持指定整数的大小(如 int, int8, int32, int64, uint, uint8, uint32, uint64)。
      var decLiteral int = 123   // 十进制 var hexLiteral int = 0x7B  // 十六进制 var binLiteral int = 0b1111011 // 二进制 var bigLiteral int64 = 0x123456789ABCDEF // 大整数 
  2. 浮点数字面量:

    • Java: 浮点数字面量通常带有小数点,可以是十进制或科学计数法。
      double floatLiteral = 123.45;  // 十进制 double sciLiteral = 1.23e4;     // 科学计数法 
    • Go: 浮点数字面量同样可以是十进制或科学计数法,并且 Go 语言区分 float32float64
      var floatLiteral float64 = 123.45  // 十进制 var sciLiteral float64 = 1.23e4   // 科学计数法 
  3. 字符串字面量:

    • Java: 字符串字面量用双引号表示。
      String str = "Hello, World!"; 
    • Go: 字符串字面量可以用双引号或反引号(表示原始字符串)。
      var str string = "Hello, World!" // 双引号 var rawStr string = `Hello, World!` // 反引号,包含特殊字符 
  4. 布尔字面量:

    • Java: 布尔字面量是 truefalse
      boolean flag = true; 
    • Go: 布尔字面量同样是 truefalse
  5. 字符字面量:

    • Java: 字符字面量用单引号表示,可以是 ASCII 字符或 Unicode 字符。
      char ch = 'A'; char unicodeChar = '\u0041'; 
    • Go: 字符字面量也用单引号表示,可以是 ASCII 或 Unicode。
      var ch rune = 'A' // rune 是 Go 中表示 Unicode 字符的类型 var unicodeChar rune = '\u0041' 
  6. 空字面量:

    • Java: 空字面量是 null
      String nullStr = null; 
    • Go: 空字面量是 nil
      var nilStr *string = nil 
  7. 复合字面量:

    • Java: 从 Java 9 开始,支持使用菱形符号 <> 来声明和初始化泛型实例。
      List list = new ArrayList<>(); 
    • Go: 支持使用花括号 {} 来创建数组、切片、映射和结构体的复合字面量。
      var arr [3]int = [3]int{1, 2, 3} var slice []int = []int{1, 2, 3} var mapVal map[string]int = map[string]int{"one": 1, "two": 2} var structVal struct{Name string; Age int} = struct{Name: "Alice", Age: 30} 

尽管两种语言在字面量的表示上有许多相似之处,但它们在类型系统、语法和一些特定字面量的使用上有所不同。

相关内容

热门资讯

一秒了解”神盾大新获得房卡链接... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
秒懂教程!微信里面炸金花房卡哪... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:66336574许多玩家在游戏中会购买房卡来享...
分享经验”王者大厅房卡获取“牛... 分享经验”王者大厅房卡获取“牛牛房卡哪里有卖游戏中心打开微信,添加客服【113857776】,进入游...
秒懂教程!微信里面炸金花链接房... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:56001354许多玩家在游戏中会购买房卡来享...
分享经验”牛牛获得房卡链接渠道... 分享经验”牛牛获得房卡链接渠道“新老夫子房间卡怎么购买 微信牛牛房卡客服微信号微信游戏中心打开微信,...
秒懂教程!在哪里买拼三张微信房... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:71319951许多玩家在游戏中会购买房卡来享...
一秒了解”贝壳互娱怎么买房卡“... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
一分钟实测分享”牛牛房卡获取“... 房卡获取是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:113857776许多玩家在游戏中会购买房卡...
秒懂教程!微信玩链接拼三张房卡... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:66336574许多玩家在游戏中会购买房卡来享...
玩家攻略”新竹大厅房卡多少米“... 玩家攻略”新竹大厅房卡多少米“牛牛房卡批发市场微信房卡充值 添加房卡批售商:微【113857776】...
秒懂教程!微信牛牛房卡找谁买,... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:56001354许多玩家在游戏中会购买房卡来享受...
1分秒分析”微友约局获得房卡链... 1分秒分析”微友约局获得房卡链接渠道“金花牛牛房卡充值游戏中心打开微信,添加客服【113857776...
秒懂教程!微信里玩拼三张房卡在... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:71319951许多玩家在游戏中会购买房卡来享...
秒懂普及”新海岛大厅房卡“拼十... 来教大家如何使用房卡充值房卡充值 添加房卡批售商:微【113857775】复制到微信搜索、直接添加房...
秒懂教程!想找个微信牛牛房卡在... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:66336574许多玩家在游戏中会购买房卡来享受...
秒懂教程!微信玩链接牛牛房卡,... 牛牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:56001354许多玩家在游戏中会购买房卡来享受...
一分钟实测分享”海贝之城如何购... 一分钟实测分享”海贝之城如何购买房卡“哪里有详细房卡介绍微信房卡充值 添加房卡批售商:微【11385...
秒懂教程!拼三张房卡多少钱一张... 拼三张是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:71319951许多玩家在游戏中会购买房卡来享...
玩家攻略”鲨鱼众娱房卡“新猴王... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
秒懂教程!微信玩炸金花房卡链接... 炸金花是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:66336574许多玩家在游戏中会购买房卡来享...