"进阶架构师" 微信公众号,欢迎大家订阅、阅读、评论、点赞!!!!
前言
时间飞逝。有些日子,一去不复返。我们,在成长中,在变化中,一切都是为了更好的未来。
过去的过去,一切都是我们未来日子的堆积。幸福就在堆积中,一点点开花。
过去,我们主要精力,在观察,Java与Go的能力对比。今天,我们继续对比,让我们能够好好学习Go,完成顺利转型。
Go与Java文件后缀对比
正如我们熟悉的,Java的编译文件是.class文件结尾,多个.class文件打成一个可执行文件,.jar文件结尾,.jar不能直接在windows和linux上执行,得用java命令,依托JVM虚拟机执行。
Go语言中的程序文件后缀为.go,有main包main函数。.go文件打包成二进制对应操作系统的可执行程序,如windows上的.exe结尾的可执行程序。
Java的类库上会以.jar结尾,Go语言非main包没有main函数的程序会编译打包成为一个类库,以.a结尾,也就是Go语言的类库,以.a结尾。
Go的类库如下:
包名.a
my_util.a
注:my_util是最顶层文件夹名,里面包含着一个个程序文件。
Go与Java选择结构的对比
Go中的if
Go中的if和java中的if使用基本相同,只不过是小括号给去掉了。
示例1:
package main
import (
"fmt"
)
func main() {
/*
单分支结构语法格式如下:
if 条件判断 {
//代码块
}
*/
var num int
fmt.Printf("请输入数字")
fmt.Scan(&num)
if num > 10 {
fmt.Println("您输入的数字大于10")
}
}
示例2:
package main
import (
"fmt"
)
func main() {
/*
if else分支结构语法格式如下:
if 条件判断 {
//代码块
} else {
//代码快2
}
*/
var num int
fmt.Printf("请输入数字")
fmt.Scan(&num)
if num > 10 {
fmt.Println("您输入的数字大于10")
} else {
fmt.Println("您输入的数字不大于10")
}
}
示例3:
package main
import (
"fmt"
)
func main() {
/*
if else分支结构语法格式如下:
if 条件判断 {
//代码块
} else if 条件判断{
//代码块2
} else {
//代码块3
}
*/
var num int
fmt.Printf("请输入数字")
fmt.Scan(&num)
if num > 10 {
fmt.Println("您输入的数字大于10")
} else if num == 10{
fmt.Println("您输入的数字等于10")
} else {
fmt.Println("您输入的数字小于10")
}
}
switch
示例1:
package main
import (
"fmt"
)
func main() {
var a = "li_ming"
switch a {
case "li_ming":
fmt.Println("Hello!LiMing")
case "xiao_hong":
fmt.Println("Hello!XiaoHong")
default:
fmt.Println("No!")
}
}
示例2:一分支多值
package main
import (
"fmt"
)
func main() {
var name = "li_ming"
var name2 = "xiao_hong"
switch name {
//li_ming或xiao_hong 均进入此
case "li_ming", "xiao_hong":
fmt.Println("li_ming and xiao_hong")
}
switch name2 {
case "li_ming", "xiao_hong":
fmt.Println("li_ming and xiao_hong")
}
}
示例3:switch表达式
package main
import (
"fmt"
)
func main() {
var num int = 11
switch{
case num > 10 && num < 20:
fmt.Println(num)
}
}
示例4:fallthrough下面的case全部执行
package main
import (
"fmt"
)
func main() {
var num = 11
switch {
case num == 11:
fmt.Println("==11")
fallthrough
case num < 10:
fmt.Println("<12")
}
}
总结
学习是一件持续的事情。今天我们从我们熟悉的Java方向角度,去学习了Go的其中相关的一些用法。微观学习,顺利转型。加油,加油!!