[go]---从java到go(01)---基础与入门上手

为什么用go,就是为了快速响应并且高并发。
一样的逻辑,用java也能实现,但用go可能就比java快点。
如果你很熟练java了,那么学习go就会很快。
go的社区环境相比java没那么大,但一般问题都足够了。
go是谷歌出品,无脑追求性能。

go学习01
go学习02

先来个简单的go版hello word:
[go]---从java到go(01)---基础与入门上手_第1张图片

package main

import (
	"fmt"
	"strings"
	"unsafe"
)

func init() {
	fmt.Println("init方法执行================================")
}
//hello world
func main() {
	fmt.Println("hello world")
	fmt.Println("hello," + ",world")

	fmt.Println("测试数值===============================")
	testNumber()
	fmt.Println("测试布尔类型===============================")
	testBool()
	fmt.Println("测试字符串===============================")
	testString()
	fmt.Println("测试常量===============================")
	testConst()
}

func testNumber() {
	var a1 = 2
	var a2 = 26
	fmt.Println("a1:", a1)
	fmt.Println("a2:", a2)
	fmt.Println("a1+a2:", a1+a2)

	//数值加减
	var a float32 = 12
	var b float32 = 13.222
	fmt.Println("a:",a)
	fmt.Println("b:",b)
	fmt.Println("a + b:",a + b)
}

var isActive bool                 //全局变量声明
var enable, disable = true, false //忽略类型声明
func testBool() {
	var available bool //一般声明
	valid := false //简短声明
	available = true //赋值操作
	fmt.Println("isActive:", isActive)
	fmt.Println("enable:", enable)
	fmt.Println("disable:", disable)
	fmt.Println("available:", available)
	fmt.Println("valid:", valid)
}

func testString() {
	str := "a a a\n b b b \n ccc"
	str = strings.Replace(str, " ", "", 1)
	fmt.Println("去除一个空格", str)
	str = strings.Replace(str, " ", "", -1)
	fmt.Println("去除所有空格", str)
}

func testConst() {
	//常量是一个简单值的标识符,在程序运行时,不会被修改的量。
	//常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
	const LENGTH int = 10
	const WIDTH int = 5
	var area int
	const a, b, c = 1, false, "str" //多重赋值

	area = LENGTH * WIDTH
	fmt.Println("面积为 : ", area)
	fmt.Println(a, b, c)

	const ( // 枚举,数字 0、1 和 2 分别代表未知性别、女性和男性。
		Unknown = 0
		Female = 1
		Male = 2
	)
	fmt.Println("Unknown:",Unknown)

	const (
		a1 = "abc"
		b1 = len(a1)
		c1 = unsafe.Sizeof(a1)
	)
	fmt.Println("a1:",a1)
	fmt.Println("b1:",b1)
	fmt.Println("c1:",c1)
}

你可能感兴趣的:(go语言)