前言
周一了,不知道大家都忙么。有没有好好地学习呢?嘻嘻,今天,我抽时间,又把Java与Go之间进一步做了对比。
那么,我们就来聊一下,今天对比的部分内容。
常用包
众多周知,开发过程中,更多的时候,在使用开发包来辅助开发。那么,具体的情况是什么样子的呢?
GO |
Java | |
IO流操作 | bufio/os | java.lang.io |
字符串操作 | strings | java.lang.String |
容器 | container(heap/list/ring) | java.lang.Collection |
锁 | sync | juc |
时间 | time | java.time/java.lang.Date |
底层Unsafe | unsafe | unsafe类 |
算数操作 | math | java.math |
我们可以从以上表格看到常用操作的包明细。
想要学习更多Go中文API文档,Go的API包文档
Go的常用基础数据类型和Java的基础数据类型对比
Go中的常用基础数据类型
Go中派生数据类型
Go和Java的变量对比
Go的变量
package main import( //包含print函数 "fmt" ) func main() { //var 变量名 变量类型 = 变量值 var name string = "xiao_li" //方法内部可以直接使用 【 变量名 := 变量值 】 赋值,方法外不可以 name2:="xiao_hong" fmt.Println("name = ",name) fmt.Println("name2 = ",name2) }
Java的变量
public class test { public static void main(String[] args) { //变量类型 变量名 = 变量值 String name = "xiao_li"; int i = 10; System.out.println("name ="+name); System.out.println("i ="+i); } }
Go和Java的常量对比
Go的常量
Go中的常量和Java中的常量含义有一个本质的区别:Go中的常量是指在编译期间就能确定的量(数据),而java中的常量是指被赋值一次后就不能修改的量(数据)。所以两者不一样,因为Java中的常量也是JVM跑起来后赋值的,只不过不允许更改;Go的常量在编译后就确实是什么数值了。
package main import( //包含print函数 "fmt" ) func main() { //const 常量名 常量类型 = 常量值 显示推断类型 const name string = "const_li_ming" //隐式推断类型 const name2 ="const_xiao_hong" fmt.Println("name = ",name) fmt.Println("name2 = ",name2) }
Java的常量
public class test { //【访问修饰符】 【静态修饰符】final修饰符 常量类型 常量名 = 常量值; public static final String TAG = "A"; //一般设置为static静态 public static void main(String[] args) { System.out.println("tag= "+TAG); } }
Go与Java的赋值对比
Go的赋值
Go方法内的赋值符号可以用 := ,也可以用 =,方法外只能用 = 。
package main import( //包含print函数 "fmt" ) //方法外只能用 = 赋值 var my_name string = "my_name" var my_name2 = "my_name2" //my_name3:="my_name3" 不在方法内,错误 func main() { fmt.Println("name = ",my_name) fmt.Println("name2 = ",my_name2) }
Go支持多变量同时赋值:
package main import( //包含print函数 "fmt" ) func main() { //多变量同时赋值 var name,name2 = "li_ming","xiao_hong" fmt.Println("name = ",name) fmt.Println("name2 = ",name2) }
Go丢弃赋值:
package main import( //包含print函数 "fmt" ) func main() { //丢弃赋值 把 1和2丢弃 只取3 //在必须一次取两个以上的值的场景下,又不想要其中一个值的时候使用,比如从map中取key,value var _,_,num = 1,2,3 fmt.Println("num = ",num) }
Java的赋值
public class test { public static void main(String[] args) { //直接用 = 赋值 String name = "li_ming"; int i = 10; System.out.println("name ="+name); System.out.println("i ="+i); } }
总结
跟着之前学习Java的脚步,我们一步步的分析,Go与Java的对比。
作为一名Javaer转型Goer 其实是so easy。