Go语言应用指南:基础语法和常用特性解析(类型定义,流程控制) | 青训营

35 阅读2分钟

前言

这是我的第一次在字节学习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("陕西理工大学")
}


}