go语言初学

本文介绍了Go语言的基本语法,包括注释、包导入、变量声明与赋值,以及多变量赋值。讲解了数组、循环(如for、range)和函数的使用,并展示了关键字和标识符的规则。此外,还涵盖了数据类型转换、浮点数与复数的声明,以及字符串操作。
摘要由CSDN通过智能技术生成

1.基本输出

行末分号无所谓,编译器会自动添加

go语言注释

//

/*        */

package main  
//创建包 
//main包必须  有且只有一个
import (
	"fmt"
)  
//导入包类似C的头文件
//导入的包   必须有代码用到  否则会报错
func  main()  {
	v:="qwe"
	fmt.Println(v[0:1])
//输出自动换行
}

2.变量声明

当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil 等

批量格式

var a int
var (
    b string
)

简短格式

这种方法,只要至少有一个新声明的变量出现在左值中,即便其他变量名可能是重复声明的,编译器也不会报错

x,y:=1,"abc"
//定义变量,同时显式初始化
//不能提供数据类型
//只能用在函数内部

 多变量同时赋值

​
package main  
import "fmt"
func main (){
	var a int = 100
  	var b int = 200
	b, a = a, b
	fmt.Println(a, b)
}
//200 100

​

匿名变量_

不能用来运算,不能在后续代码使用 

package main  
import "fmt"
func hhh() (int, int) {
    return 1, 2
}
func main(){
    a, _ := hhh()
    _, b := hhh()
    fmt.Println(a,b)
}
//1 2

浮点数声明的时候,可以只写整数部分或者小数部分

const e = .12345    // 0.12345
const f = 6.    // 6
fmt.Printf("%.2f\n", e)    //控制保留几位小数

复数

复数的类型有两种,分别是  complex128(64 位实数和虚数)和 complex64(32 位实数和虚数),其中 complex128 为复数的默认类型

real实部,imag虚部

var x complex128 = complex(1, 2) // 1+2i
var y complex128 = complex(3, 4) // 3+4i
fmt.Println(x*y)                 //(-5+10i)
fmt.Println(real(x*y))           //-5
fmt.Println(imag(x*y))           //10

不允许将整型强制转换为布尔型

var n bool
fmt.Println(int(n) * 2)
//编译错误

字符串

a:="qwe"+
"asd"    //加号后换行,否则编译器自动加分号
fmt.Println(a)    //qweasd
a:=`qwe
asd
zxc`    //    `是左上角1左面的符号,可以定义多行字符串
fmt.Println(a)
/*
qwe
asd
zxc
*/

数据类型转换

a := 5.0
b := int(a)

const

const b string = "abc"
const b = "abc"

3.关键字 

关键字一共有25个

breakdefault funcinterfaceselect
casedefergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

4.标识符

第一个必须字母

26个英文字母

0~9

_

5.数组

var a [3]int   
//数组的长度是数组类型的一个组成部分
//因此 [3]int 和 [4]int 是两种不同的数组类型
//数组类型相同,可以用==和!=来判断两个数组是否相等

fmt.Println(a[0])        
fmt.Println(a[len(a)-1])    //len长度

var q [3]int = [3]int{1, 2, 3}
var r [3]int = [3]int{1, 2}

q := [...]int{1, 2, 3}
//省略号的话,根据初始值个数

var a  = [3]int{1, 2, 3}
fmt.Println(a, a[1:2])
//[1 2 3] [2]

6. 循环

if condition {
    // do something
} else {
    // do something
}

//if和else之后的 左括号和关键字在一行。
//如果有else if,右括号和else if在一行。
mp:=map[int]string{
	1:"a",
	2:"b",
	3:"c",
}
for key,value := range mp{
	fmt.Println(key,value)
}
//map无序
//2 b
//3 c
//1 a

7.函数 

func fuck(x,y int)(int){
	return x+y
}
func main(){
var a,b int
a=1
b=2
fmt.Println(fuck(a,b))
}
//3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值