Go语言基础
一、build 是创建一个新的文件;
而直接使用run的话,就不用看到这个文件了,直接运行,适合懒人,就是我们。
二、数据类型的作用:告诉计算机要给这个数据分配多少的内存。
命名规范:首先是不能跟关键字重名,这就好比是你不能用人家创建好了的商标。不能以数字开头。这根C语言一样的。
三、变量的声明:我印象最深刻的就是不能在一个花括号里面用相同的变量名。系统自动是有默认值的。
四、自动推导类型:“:=”比如这么说吧,“b:=20”就表示先对b进行声明(当然这是默认的系统能识别,整数是整型,小数就默认是浮点型了),然后对b进行初始化,即最开始的赋值,b=20.
五、赋值:能一直赋值。不同于自动推导类型,“b:=20”同一个变量名只能用一次,不能重复。
六、println和printf的区别:第一个是一段一段处理,我想现在应该有个例子():
println("a= ",a,"b = ",b,"c= ",c)
printf是一行处理的,也应该有个例子对应上():
printf(“a=%d,b=%d,c=%d”,a,b,c)
他们说下面的(就是printf)比较简单,我认为他们说的有道理。
七、多重赋值:就是啥吧,直接来例子吧():
a,b,c:=10,20,30
这就直接对应上了。多方便,呀哟。
对了:“var tmp int” 这是声明变量的普通格式。不够简单,也可以这样:tmp:=a 完事儿。
八、交换两个变量的值也很简单:
i:=10(“go语言中句末不用分号”)
j:=20
i , j = j , i
这就okay了,交换后i=20,j=10了。
匿名变量&iota
九、匿名变量:
我感觉就是“”,哎呀直接上例子了():
i:=10
j:=20
tmp,=i , j 就是把i的值给了tmp,j被丢弃了。他们说搭配返回值很方便,我还不太确定。
十、常量的声明:关键字就是:const
变量的声明:关键字就是:var
例子():
const b = 10, 此处没有使“:=”但系统会自动识别的。赋给b的内存就是int的
const b = 10.2赋给b的内存就是float的。
十一、多个变量或常量的初始化或赋值
例子():
var a int
var b float64
a ,b = 10 , 3.14
就等同于:
var(
a int = 1
b float64 = 3.14
)
a ,b = 10 , 3.14
最妙的是他还能自动推到类型:
var(
a = 1
b = 3.14
)
输出的话就是:
a = 1
b = 3.14
就是简单不少。
十二、iota枚举
例子():
const(
a=iota
b=iota
c=iota
)
fmt.Printf(“a=%d,b=%d,c=%d\n”,a,b,c)
输出的结果就是:
a=0
b=1
c=2
规则就是每行累加一,同行的话当然值就一样了。
简单点也可以这样写:
const(
a=iota
b
c
)
fmt.Printf(“a=%d,b=%d,c=%d\n”,a,b,c)
输出结果同上。
一些总结
十三、%c是打印字符格式,
%d是打印整型,
%T是打印数据的类型,
%f是打印浮点型
%x是将十进制转化为十六进制
%s打印字符串格式
%v自动匹配格式输出,但没那么准确
len(这里面是你想要测得字符串),比如len(str1)可以测字符串的长度,就是有多少个字符。
十四、字符与字符串的区别
一个是单引号,另一个是双引号
十五、字符串可以理解为是字符数组,即可以输出“str[ 1 ]”。
十六、复数
例子():
//自动推导类型
t2 := 3.3+4.4i
fmt.Println(“real(t2) = “,real(t2),”,imag(t2) = “,imag(t2))依次输出实部和虚部。
fmt.Println(“t2 type is %T\n”, t2)这就输出了t2的数据类型。
十七、输入的使用
格式一:fmt.Scanf(”%d”,&a)//阻塞并等待用户输入
格式二:fmt.Scan(&a)//确实简单了不少。
fmt.Printf("a= ",a)
十八、go语言中没有连等,比如:
想要表达:0<=a<=10
只能这样写:0<=a&&a<=10
十九、优先级大概和日常的一样,记住几个关键的就行了。