前言
这是我的第一次在字节学习go语言,曾经学习了Java了解Java全栈开发,有曾耳闻go在高并发情况有天然的优势,便对go语言产生了浓厚的兴趣,下面我会分享我在学习go语言的时候写的代码,以及思路的分享。
Hello World
好的,你已经开始学习go语言了,安装go语言就不多做介绍了,下面来运行你的第一个程序
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
go语言常量
- go语言进行常量定义的关键字是const,常量定义后的值是无法修改的。
- 定义时候如果没有使用就沿用前面的值
package main
import "fmt"
func main() {
//Go语言常量,定义的值是不能进修修改的,定义常量就是const,常量定义建议全部大写
const PI float32 = 3.1415946 //显式定义
const (
x int = 16
y
s = "abc"
z
)
fmt.Print(x,y,s,z) //定义时候如果没有使用就沿用前面的值
// 常量类型只可以定义bool,数值类型,字符串,常量没有必须使用的要求
}
go语言变量
- 变量的定义可以像js那样不确定类型,go语言内部会做自动的转换
- 变量也可以手动指定类型
- 变量一旦定义就必须使用,go语言定义后的变量如果不使用的话编译会报错
package main
import "fmt"
func main() {
var a = "init"
var b,c int = 1,2
//常用的方式
myString := "findtime"
}
go语言流程控制if else
go语言的if像Java和c那样,而是更加简洁的方式
package main
import "fmt"
func main() {
isTrue = true
if isTrue {
// do something
}else {
// do something
}
}
go语言流程控制 for循环
go语言舍弃了c++的while和do while 循环,因为设计者认为只有一个for循环足以
- for循环主要是对string,数组,切片,map和channel进行操作的
package main
import "fmt"
func main() {
// for循环,Go只支持一种for循环但是可以代替while循环,break,continue
total := 0
for i := 0; i < 100; i++ {
total += i
}
fmt.Println(total)
}
go语言流程控制switch
go语言的switch不像Java那样需要给每一个case后面都加上break,而是设计go语言的时候就在每一个case后面都集成了break是不是很方便?
package main
import "fmt"
func main() {
//switch语法,Go中的switch自动集成了break
company := "字节跳动"
switch company {
case "字节跳动":
fmt.Printf("Wow")
case "美团":
fmt.Printf("kao")
default:
fmt.Printf("陕西理工大学")
}
}