分享
GoLang基础语法
等她下班 · · 11843 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
变量定义
从hello world入手
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
控制台输出:
Hello World
变量默认值
package main
import "fmt"
func main() {
var a int
var s string
fmt.Println(a, s)
}
控制台输出:
0
注:s为"",故打印出来没有效果
如果想让""字符串显示,则代码如下:
package main
import "fmt"
func main() {
var a int
var s string
fmt.Println(a, s)
fmt.Printf("%d %q\n", a, s)
}
控制台输出:
注:s为"",故打印出来没有效果
0
0, ""
变量定义并初始化
第一种方式
package main
import "fmt"
func main() {
var a, b int = 3, 4
var s string = "abc"
fmt.Println(a, b, s)
}
控制台输出:
3 4 abc
第二种方式
package main
import "fmt"
func main() {
var a, b, c, d = 3, 4, true, "def"
fmt.Println(a, b, c, d)
}
控制台输出:
3 4 true def
第三种方式
package main
import "fmt"
func main() {
a, b, c, d := 3, 4, true, "def"
fmt.Println(a, b, c, d)
}
控制台输出:
3 4 true def
如果是在包内定义变量而非func中定义变量,不能使用使用第三种方式,即不能使用:=。
代码如下:
package main
import "fmt"
var wy = 3
var wyy = 4
var ss = "3456"
func main() {
fmt.Println(wy, wyy, ss)
}
还可以如下定义:
package main
import "fmt"
var (
wy = 3
wyy = 4
ss = "3456"
)
func main() {
fmt.Println(wy, wyy, ss)
}
输出如下:
3 4 3456
内置变量类型
bool, string
加u,代表无符号整数;不加u,代表有符号整数;不规定长度,与操作系统相关
(u)int, (u)int8, (u)int16, (u)int32, (u)int64
uintptr: 无符号整型,长度与操作系统相关,用于存放一个指针, ptr代表指针类型(Pointer)
byte: 类似 uint8
rune: 字符型,4个字节, 32位二进制位,类似 int32
float32, float64
complex64: 复数:实数和虚数为32位 float32
complex128: 复数:实数和虚数为64位 float64
Golang中的复数
package main
import (
"fmt"
"math/cmplx"
)
func main() {
c := 3 + 4i
fmt.Println(cmplx.Abs(c))
}
欧拉公式
package main
import (
"fmt"
"math/cmplx"
"math"
)
func main() {
fmt.Println(
cmplx.Exp(1i * math.Pi) + 1)
}
控制台输出
(0+1.2246467991473515e-16i)
类型转换
类型转换是强制的,无隐式类型转换
勾股定理
package main
import (
"fmt"
"math"
)
func main() {
var a, b int = 3, 4
fmt.Println(math.Sqrt(float64(a*a + b*b)))
}
控制台输出
5
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信11843 次点击
上一篇:Golang环境变量设置
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
变量定义
从hello world入手
package main
import "fmt"
func main() {
fmt.Println("Hello World")
}
控制台输出:
Hello World
变量默认值
package main
import "fmt"
func main() {
var a int
var s string
fmt.Println(a, s)
}
控制台输出:
0
注:s为"",故打印出来没有效果
如果想让""字符串显示,则代码如下:
package main
import "fmt"
func main() {
var a int
var s string
fmt.Println(a, s)
fmt.Printf("%d %q\n", a, s)
}
控制台输出:
注:s为"",故打印出来没有效果
0
0, ""
变量定义并初始化
第一种方式
package main
import "fmt"
func main() {
var a, b int = 3, 4
var s string = "abc"
fmt.Println(a, b, s)
}
控制台输出:
3 4 abc
第二种方式
package main
import "fmt"
func main() {
var a, b, c, d = 3, 4, true, "def"
fmt.Println(a, b, c, d)
}
控制台输出:
3 4 true def
第三种方式
package main
import "fmt"
func main() {
a, b, c, d := 3, 4, true, "def"
fmt.Println(a, b, c, d)
}
控制台输出:
3 4 true def
如果是在包内定义变量而非func中定义变量,不能使用使用第三种方式,即不能使用:=。
代码如下:
package main
import "fmt"
var wy = 3
var wyy = 4
var ss = "3456"
func main() {
fmt.Println(wy, wyy, ss)
}
还可以如下定义:
package main
import "fmt"
var (
wy = 3
wyy = 4
ss = "3456"
)
func main() {
fmt.Println(wy, wyy, ss)
}
输出如下:
3 4 3456
内置变量类型
bool, string
加u,代表无符号整数;不加u,代表有符号整数;不规定长度,与操作系统相关
(u)int, (u)int8, (u)int16, (u)int32, (u)int64
uintptr: 无符号整型,长度与操作系统相关,用于存放一个指针, ptr代表指针类型(Pointer)
byte: 类似 uint8
rune: 字符型,4个字节, 32位二进制位,类似 int32
float32, float64
complex64: 复数:实数和虚数为32位 float32
complex128: 复数:实数和虚数为64位 float64
Golang中的复数
package main
import (
"fmt"
"math/cmplx"
)
func main() {
c := 3 + 4i
fmt.Println(cmplx.Abs(c))
}
欧拉公式
package main
import (
"fmt"
"math/cmplx"
"math"
)
func main() {
fmt.Println(
cmplx.Exp(1i * math.Pi) + 1)
}
控制台输出
(0+1.2246467991473515e-16i)
类型转换
类型转换是强制的,无隐式类型转换
勾股定理
package main
import (
"fmt"
"math"
)
func main() {
var a, b int = 3, 4
fmt.Println(math.Sqrt(float64(a*a + b*b)))
}
控制台输出
5