c++转Golang 学习的是李文周大神
原博客地址 :https://www.liwenzhou.com/
一点一滴加油!
1、变量与常量
标志符:只能以英文字符与_开头
go语言当中的变量必须声明了再使用,声明之后必须使用
函数内部可以使用短变量声明 :=
函数外部一般使用 var 变量名 类型 = 值
匿名变量 _,v : =
常量使用 : const pi = 3.14
iota:常量计数器,每次遇到 const
都会重置为0
const (
n1 = iota //0
n2 //1
_
n4 //3
n5 = iota //4
)
const k = iota // 0
按照行进行递增,可以进行_或者其他值的插空
2、基本数据类型
获取对象的长度的内建len()
函数返回的长度可以根据不同平台的字节长度进行变化
v := 123_456
表示 v 的值等于 123456 , 二进制0b ,八进制0o 需要0开头 ,十六进制 0x
math.MaxFloat32
复数 :
var c1 complex64
c1 = 1 + 2i
字符串需要进行转义 :
fmt.Println("str := \"c:\\Code\\lesson1\\go.exe\"")
多行字符串使用 反引号 ``
字符串的一些操作: 大部分在strings包当中
UTF8编码下一个中文汉字由3~4个字节组成,所以我们不能简单的按照字节去遍历一个包含中文的字符串 ,可以使用for range
byte 也就是uint8类型 ,rune 代表一个UTF-8类型的字符
Go语言当中,字符串的底层实现是一个byte数组,因此string 与 []byte 可以相互转换,不能直接修改;
如果要修改字符串 ,需要先对其进行强制类型转换 []byte 或者是 []rune ,修改之后再转换为string;
Go当中只有强制类型转换
c = int(math.Sqrt(float64(a*a + b*b)))
//拼接字符串
fmt.Println(s1 + s2)
s3 := fmt.Sprintf("%s %s", s1, s2)