GO语言学习——基础复习回顾
内容回顾
GO安装
$GOPATH:你写GO代码的工作区,保存你的GO代码的
GOROOT:GO exe所在的地方
GOPATH/bin添加到环境变量:go install 命名会把生成的二进制可执行文件拷贝到GOPATH/bin
Go命令
go build:编译Go程序
go build -o "xx.exe":编译成xx.exe文件
go run main.go:像执行脚本一样执行main.go文件
go install :先编译后拷贝
GO语言文件基础语法
存放Go源代码的文件后缀名是.go
文件第一行:package关键字声明包名
如果要编译可执行文件,必须要有main包和main函数(入口函数)
// 单行注释
/*
多行注释
*/
GO语言函数外的语句必须以关键字开头
函数内部定义的变量必须使用
变量
3种声明方式:
- var name string
- var name2 = "嫦娥"
- 函数内部专属:name3 := "天宫一号"
匿名变量(哑元变量):
当有些数据必须用变量接收但是又不使用它时,就可以用_来接收这个值
常量
const PI = 3.1415926
const UserNotExistErr = 10000
iota:实现枚举
两个要点:
- iota在const关键字出现时将被重置为0
- const中每新增一行常量声明,iota累加1
流程控制
if
// if
	var age = 19
	if age > 18{
		fmt.Println("成年")
	}else if age > 7{
		fmt.Println("上小学")
	}else{
		fmt.Println("最快乐的时光")
	}
for循环
- 
标准for循环 // for 
 for i := 0; i<10;i++{
 fmt.Println(i)
 }
基本数据类型
整型
- 无符号整型:uint8、uint16、uint32、uint64
- 带符号整型:int8、int16、int32、int64
- int:具体是32位还是64位看操作系统
- uintptr:表示指针
其他进制数
GO语言中无法直接定义二进制数
浮点型
float32和float64
GO语言中浮点数默认是float64
复数
complex128和complex64
布尔值
true和false
不能和其他的类型做转换
字符串
常用方法
字符串不能修改
byte和rune类型
都属于类型别名
字符串、字符、字节都是什么?
- 字符串:双引号包裹的是字符串
- 字符:单引号包裹的是字符,单个字母、单个符号、单个文字
- 字节:1byte=8bit
go语言中字符串都是UTF8编码,UTF8编码中一个常用汉字一般占用3个字节
package main
import "fmt"
// 单行注释
/*
多行注释
*/
// go语言函数外的语句必须以关键字开头
var name = "lisi"
var age int
// main函数是入口函数
// 它没有参数也没有返回值
func main(){
	// 函数内部定义的变量必须使用
	var isOk = true
	fmt.Println(isOk)
	// if
	var age = 19
	if age > 18{
		fmt.Println("成年")
	}else if age > 7{
		fmt.Println("上小学")
	}else{
		fmt.Println("最快乐的时光")
	}
	// for.1
	for i := 0; i<10;i++{
		fmt.Println(i)
	}
	// for.2
	var i = 0
	for ;i < 10; i++ {
		fmt.Println(i)
	}
	// for.3
	// var j = 0
	// for j <10 {
	// 	fmt.Println(j)
	// 	j++
	// }
	// for.4
	// for {
	// 	fmt.Println("无限循环")
	// }
	// for.5
	// s := "不忘初心坚持奋斗"
	// fmt.Println(len(s)) // 
	// for i,v := range s {
	// 	// fmt.Println(i, v)
	// 	fmt.Printf("%d %c\n", i, v)
	// }
	// 哑元变量 不想用到的都直接扔给它
	// 
	
	// 打印9*9乘法表
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=9;j>=i;j--{
			fmt.Printf("%d*%d=%d\t",i, j, j*i)
		}
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	for i := 1; i<10; i++ {
		for j:=1;j<=i;j++{
			fmt.Printf("%d*%d=%d\t",j, i, j*i)
		}
		// fmt.Print(i)
		// fmt.Print(i, "\t")
		// fmt.Printf("%d\t",i)
		fmt.Println()
	}
	var f1 = 1.234
	fmt.Printf("%T\n", f1)
	var f2 = float32(1.234)
	fmt.Printf("%T\n", f2)
	// byte和rune
	s1 := "Hello"
	s2:= "无可奈何花落去"
	for _,v := range s1 {
		fmt.Printf("%c %T\n", v, v)
	}
	for _,v := range s2 {
		fmt.Printf("%c %T\n", v, v)
	}
	// 八进制
	var n1 = 0777
	// 十六进制
	var n2 = 0xff
	fmt.Println(n1, n2) // 511 255 打印的是十进制
	fmt.Printf("%o\n", n1)
	fmt.Printf("%x\n", n2)
}
本文来自博客园,作者:寻月隐君,转载请注明原文链接:https://www.cnblogs.com/QiaoPengjun/p/16167966.html

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号