Go语言基本语法-变量和常量的定义和使用

Go语言基本语法

文章目录

  • Go语言基本语法
    • 1. 定义变量
    • 2. 内建变量类型
    • 3.强制类型转换
    • 4. 常量与枚举
      • 4.1 常量的定义
      • 4.2 使用常量定义枚举类型
      • 4.3 定义变量要点回顾

1. 定义变量

使用var关键字

  • var a,b,c bool

  • var s1,s2 string = “Hello World”

  • 可放在函数内,或直接放在包内

  • 使用var()集中定义变量

    让编译器自动决定类型

    • var a,b,i,s1,s2 = true , false, 3 , “hello” , “world”

    使用:=定义变量

    • a ,b , c ,s1,s2 := true , false, 3 , “abc”, “小米”
    • :=只能在函数内使用

    hello.go

package main

import "fmt"

//在函数外定义变量
var aa int = 10
var bb string = "小米"
var cc bool = true

func variableZeroValue() {
	// 定义变量
	var a int
	var b string
	var c bool
	fmt.Println(a, b, c)
}

func variableInitialValue() {
	//定义变量并赋值
	var a, b int = 3, 4
	var c string = "abc"
	var d bool = true
	//短变量赋值
	e := 15
	fmt.Println(a, b, c, d, e)
}

func variableTypeDeduction() {
	var a, b, c, d = 3, 5, true, "您好"
	fmt.Println(a, b, c, d)
}

//常用定义变量方法
func variableTypeShort() {
	var a, b, c, d = 3, 5, true, "您好"
	b = 5
	fmt.Println(a, b, c, d)
}

func main() {
	fmt.Println("Hello world")
	variableZeroValue()
	variableInitialValue()
	variableTypeDeduction()
	variableTypeShort()
	fmt.Println(aa, bb, cc)
}

Go语言基本语法-变量和常量的定义和使用_第1张图片

2. 内建变量类型

  • bool , string
  • (u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr
  • int,int8,int16,int32,int64
  • byte,rune(是go语言的char类型)
  • float32 , float64 , complex64 , complex128(代表复数)

Go语言基本语法-变量和常量的定义和使用_第2张图片

Go语言基本语法-变量和常量的定义和使用_第3张图片

Go语言基本语法-变量和常量的定义和使用_第4张图片

验证欧拉公式

func euler() {
	c := 3 + 4i
	fmt.Println(cmplx.Abs(c))
	fmt.Println(cmplx.Pow(math.E, 1i*math.Pi) + 1) //方法1
	fmt.Println(cmplx.Exp(1i*math.Pi) + 1)         //方法2
	fmt.Printf("%.3f\n", cmplx.Exp(1i*math.Pi)+1)  //方法2

}
func main() {
	euler()
}

Go语言基本语法-变量和常量的定义和使用_第5张图片

3.强制类型转换

类型转换是强制的

Go语言基本语法-变量和常量的定义和使用_第6张图片

func triangle() {
	var a, b int = 3, 4
	var c int
	//需要先将int类型转换为float64类型,然后在把float64转为int类型
	c = int(math.Sqrt(float64(a*a + b*b)))
	fmt.Println(c)
}
func main() {
	triangle()
}

Go语言基本语法-变量和常量的定义和使用_第7张图片

4. 常量与枚举

4.1 常量的定义

const filename = "abc.txt"

const数值可作为各种类型使用

const a,b = 3,4

var c int = int(math.Sqrt(a*a + b*b))

示例

package main

import (
	"fmt"
	"math"
)

func costs() {
	//第一种写法
	//const filename = "abc.txt"
	//const a, b = 3, 4
	//第二种写法,可以节省代码量
	const (
		filename = "abc.txt"
		a, b     = 3, 4
	)
	var c int
	c = int(math.Sqrt(a*a + b*b))
	fmt.Println(filename, c)
}

func main() {
	costs()
}

在这里插入图片描述

4.2 使用常量定义枚举类型

package main

import (
	"fmt"
	"math"
)

func enums() {
	const (
		//java   = 0
		//php    = 1
		//javaScripts = 2
		//python = 3
		//iota表示自增值
		java = iota
		php
		javaScripts
		python
	)
	const (
		//iota还可以参与运算
		// b , kb , mb, gb , tb , pb
		b = 1 << (10 * iota)
		kb
		mb
		gb
		tb
		pb
	)
	fmt.Println(java, php, javaScripts, python)
	fmt.Println(b, kb, mb, gb, tb, pb)
}

func main() {
	enums()
}

Go语言基本语法-变量和常量的定义和使用_第8张图片

4.3 定义变量要点回顾

  • 变量类型写在变量名之后

  • 编译器可推测变量的类型

  • 没有chart,只有rune

  • 原生支持复数类型

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