go语言语法

go语言语法

①变量的定义

局部变量的定义

var age int = 18/age:=18
fmt.Println("age=",age)

全局变量的定义

var{
    age=10
    name="tom"
}

②条件语句

if count<20 {
    fmt.Println("存库不足")
}else{
    fmt.Println("库存充足")
}

go的条件判断语句可以定义变量:

if count:=20;count < 30 {
    fmt.Println("数量不够")
}else{
    fmt.Println("库存充足")
}

多分支条件语句

if score > 90 {
    fmt.Println("A+")
}else if score > 85{
    fmt.Println("A")
}

switch语句

var score int = 187
switch score/10{
    case 10:
        fmt.Println("a")
    case 9:
        fmt.Println("b")
    default:
        fmt.Println("c")
}

for循环

var sum int = 0
for var i int = 1;i <= 100;i++ {
    sum+=i;
}

函数引用

package main
import "fmt"
func cal(num1 int,num2 int)(int){
    var sum int=0
    sum+=num1
    sum+=num2
    return sum
}
func main(){
    sum:=cal(10,20)
    fmt.Println(sum)
}

返回值只有一个的时候,返回值类型的小括号可以删掉

package main
import "fmt"
func cal(num1 int,num2 int)int{
    var sum int=0
    sum+=num1
    sum+=num2
    return sum
}
func main(){
    sum:=cal(10,20)
    fmt.Println(sum)
}

多个返回值的时候,不能删

package main
import "fmt"
func cal(num1 int,num2 int)(int,int){
    var sum int=0
    sum+=num1
    sum+=num2
    var result int =num1-num2
    return sum,result
}
func main(){
    sum1,result1:=cal(10,20)
    //sum1,_:=cal(10,20)
    fmt.Println(sum1)
    fmt.Println(result)
}

cal也有这种写法

func cal(num1 int,num2 int)(sum int,sub int){
    sum:=num1+num2
    sub:=num1-num2
    return
}

注:go语言中没有重载函数

可变参数

func test(args...int){
    for i:=0;i 
  

在go中,函数也是种数据类型

func test(num int){
    fmt.Println(num)
}
func main(){
    a:=test
    a(10)
    test(10)
}

自定义数据类型

type myint int
var num1 myint = 30
var num2 int =30
//两个变量都是int型,值为30

③包的引入

可以先做一个环境变量(选):

go语言语法

①变量的定义

局部变量的定义

var age int = 18/age:=18
fmt.Println("age=",age)

全局变量的定义

var{
    age=10
    name="tom"
}

②条件语句

if count<20 {
    fmt.Println("存库不足")
}else{
    fmt.Println("库存充足")
}

go的条件判断语句可以定义变量:

if count:=20;count < 30 {
    fmt.Println("数量不够")
}else{
    fmt.Println("库存充足")
}

多分支条件语句

if score > 90 {
    fmt.Println("A+")
}else if score > 85{
    fmt.Println("A")
}

switch语句

var score int = 187
switch score/10{
    case 10:
        fmt.Println("a")
    case 9:
        fmt.Println("b")
    default:
        fmt.Println("c")
}

for循环

var sum int = 0
for var i int = 1;i <= 100;i++ {
    sum+=i;
}

函数引用

package main
import "fmt"
func cal(num1 int,num2 int)(int){
    var sum int=0
    sum+=num1
    sum+=num2
    return sum
}
func main(){
    sum:=cal(10,20)
    fmt.Println(sum)
}

返回值只有一个的时候,返回值类型的小括号可以删掉

package main
import "fmt"
func cal(num1 int,num2 int)int{
    var sum int=0
    sum+=num1
    sum+=num2
    return sum
}
func main(){
    sum:=cal(10,20)
    fmt.Println(sum)
}

多个返回值的时候,不能删

package main
import "fmt"
func cal(num1 int,num2 int)(int,int){
    var sum int=0
    sum+=num1
    sum+=num2
    var result int =num1-num2
    return sum,result
}
func main(){
    sum1,result1:=cal(10,20)
    //sum1,_:=cal(10,20)
    fmt.Println(sum1)
    fmt.Println(result)
}

cal也有这种写法

func cal(num1 int,num2 int)(sum int,sub int){
    sum:=num1+num2
    sub:=num1-num2
    return
}

注:go语言中没有重载函数

可变参数

func test(args...int){
    for i:=0;i 
  

在go中,函数也是种数据类型

func test(num int){
    fmt.Println(num)
}
func main(){
    a:=test
    a(10)
    test(10)
}

自定义数据类型

type myint int
var num1 myint = 30
var num2 int =30
//两个变量都是int型,值为30

③包的引入

可以先做一个环境变量(选):

go语言语法_第1张图片

然后用路径引入:

go语言语法_第2张图片

注:其他包的函数,首字母小写的是不能被访问和使用的,首字母大写的则可以

当要引入的包名与文件夹名不一致时:

go语言语法_第3张图片

包下每个源文件对包的声明必须一致,要么都是文件夹名,要么都是同一个非文件夹名

⑤错误捕获

go语言中用到defer和recover来捕获错误:

go语言语法_第4张图片

自定义错误:

go语言语法_第5张图片

panic函数:后面的代码不会再执行,程序直接中断

go语言语法_第6张图片

⑥数组的引用go语言语法_第7张图片

输入数组:go语言语法_第8张图片

数组遍历的for-range方法:

go语言语法_第9张图片

数组初始化的方式:go语言语法_第10张图片

二维数组的创建与初始化:

go语言语法_第11张图片

⑥切片

切片是go语言特有的数据类型,是一种抽象的数组

代码:go语言语法_第12张图片

创建切片的三种方式:go语言语法_第13张图片go语言语法_第14张图片

切片遍历的方式类似数组:go语言语法_第15张图片

切片简写和拓展:

切片容量扩充:go语言语法_第16张图片

⑦map的使用

代码:go语言语法_第17张图片

map的增删改查操作:go语言语法_第18张图片

二维map的创建与遍历:go语言语法_第19张图片

⑦结构体

结构体的定义和引入:

例1:go语言语法_第20张图片

例2:go语言语法_第21张图片

结构体的方法使用:go语言语法_第22张图片

你可能感兴趣的:(golang,开发语言,后端)