Go与Java(3) Go和Java微观对比-2

84 阅读2分钟

7.Go和Java的变量对比

1).go的变量

package main


import(
   //包含print函数
   "fmt"
)
func main() {
   //var  变量名  变量类型 = 变量值
   var name string = "li_ming"
   //方法内部可以直接使用 【 变量名 := 变量值 】 赋值,方法外不可以
   name2:="xiao_hong"
   fmt.Println("name = ",name)
   fmt.Println("name2 = ",name2)
}

2).Java的变量

public class MyTest {
    public static void main(String[] args) {
        //变量类型  变量名 = 变量值
        String name = "li_ming";
        int i = 10;
        System.out.println("name ="+name);
        System.out.println("i ="+i);
    }
}

8.Go和Java的常量对比

1).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)
}

2).Java的常量

public class MyTest {
    //【访问修饰符】 【静态修饰符】final修饰符   常量类型   常量名 =  常量值;
    public static final String TAG = "A";    //一般设置为static静态
    public static void main(String[] args) {
        System.out.println("tag= "+TAG);
    }
}

9.Go与Java的赋值对比

1).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)
}

2).java的赋值

public class MyTest {
    public static void main(String[] args) {
        //直接用 = 赋值
        String name = "li_ming";
        int i = 10;
        System.out.println("name ="+name);
        System.out.println("i ="+i);
    }
}

10.Go与Java的注释

  Go中的注释写法和Java中的基本一样。

例如:

//单行注释,两者相同

/*

Go的多行注释

*/

/**

Java多行注释

*/