Loading...
墨滴

qcl

2021/08/06  阅读:31  主题:凝夜紫

go语言基础2

为了复习 GO语言 打算出一个系列的文章,同时本文也适合快速入门。

提要

  • GO语言常量和变量
  • 运算符和流程控制语句
  • GO语言函数

GO语言常量和变量

http://docscn.studygolang.com/

声明变量的一般形式是使用 var 关键字:

var identifier type

可以一次声明多个变量:

var identifier1, identifier2 type

第一种,指定变量类型,如果没有初始化,则变量默认为零值。

var name string
name = "小明"

第二种,根据值自行判定变量类型。

var name = "小明"

第三种,省略 var, 注意 := 左侧如果没有声明新的变量,就产生编译错误,格式:

name := "小明"

多变量声明

package main

var x, y int
var (  
    a int
    b bool
)

var c, d int = 12
var e, f = 123"hello"

//这种不带声明格式的只能在函数体中出现
//g, h := 123, "hello"

func main(){
    g, h := 123"hello"
    println(x, y, a, b, c, d, e, f, g, h)
}

快速安装

传送门 https://studygolang.com/dl 可以下载对应的平台,直接安装即可,建议下载稳定版

验证安装

go env

#
 如果有输出一些环境变量则表示安装成功

hello world 初体验

创建hello.go文件, 并云行 go run hello.go, 编译成可执行二进制文件 go build, 目录下会生成一个hello的可执行文件,运行./hello

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

常量定义

  • 显式类型定义: const b string = "abc"
  • 隐式类型定义: const b = "abc"

GO语言中运算符和流程控制语句

运算符

算术运算符

package main

import "fmt"

func main() {

   var a int = 21
   var b int = 10
   var c int

   c = a + b
   
   c = a - b
  
   c = a * b
   
   c = a / b
   
   c = a % b
   
   a++
 
   a=21   // 为了方便测试,a 这里重新赋值为 21
   a--
  
}

流程控制语句

Go 编程语言中 if 语句的语法如下:

if true {
   // ...
}else {
   // ... false
}

switch:

switch var1 {
    case val1:
        ...
    case val2:
        ...
    default:
        ...
}

for循环语句

package main

import "fmt"

func main() {
        sum := 0
        for i := 0; i <= 10; i++ {
                sum += i
        }
        fmt.Println(sum)
}

无限循环:

package main

import "fmt"

func main() {
        sum := 0
        for {
            sum++ // 无限循环下去
        }
        fmt.Println(sum) // 无法输出
}

For-each range 循环 这种格式的循环可以对字符串、数组、切片等进行迭代输出元素。

package main
import "fmt"

func main() {
        strings := []string{"google""runoob"}
        for i, s := range strings {
                fmt.Println(i, s)
        }


        numbers := [6]int{1235}
        for i,x:= range numbers {
                // ...
        }  
}
  • break 经常用于中断当前 for 循环或跳出 switch 语句
  • continue 跳过当前循环的剩余语句,然后继续进行下一轮循环。

函数

以下实例为 max() 函数的代码,该函数传入两个整型参数 num1 和 num2,并返回这两个参数的最大值

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 声明局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result
}

函数调用

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 100
   var b int = 200
   var ret int

   /* 调用函数并返回最大值 */
   ret = max(a, b)

   fmt.Printf( "最大值是 : %d\n", ret )
}

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 定义局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result
}

Go 函数可以返回多个值

package main

import "fmt"

func swap(x, y string) (stringstring) {
   return y, x
}

func main() {
   a, b := swap("Google""Runoob")
   fmt.Println(a, b)
}

你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务

关注我

每天进步一点点 ——爱学习的小伙伴

学习更多Go语言小知识
学习更多Go语言小知识

qcl

2021/08/06  阅读:31  主题:凝夜紫

作者介绍

qcl