go 笔记1

1.go的基本类型

布尔类型:bool

字符串:string

有符号整形:int  int8  int16  int32  int64

无符号整形:uint uint8 uint16 uint32 uint64 uintptr

                  byte // uint8 的别名

                  rune // int32 的别名, 代表一个Unicode码点

浮点数:float32 float64

复数:complex64 complex128

我们随便写一个代码

func main() {

   var s int8 = 127;

   fmt.Print(s);

   fmt.Print(unsafe.Sizeof(s));

}

ctrl+鼠标单击 点击int8跳转源码


 

// Copyright 2011 The Go Authors. All rights reserved.

// Use of this source code is governed by a BSD-style

// license that can be found in the LICENSE file.

/*

   Package builtin provides documentation for Go's predeclared identifiers.

   The items documented here are not actually in package builtin

   but their descriptions here allow godoc to present documentation

   for the language's special identifiers.

*/

package builtin

// bool is the set of boolean values, true and false.

type bool bool

// true and false are the two untyped boolean values.

const (

   true  = 0 == 0 // Untyped bool.

   false = 0 != 0 // Untyped bool.

)


// uint8 is the set of all unsigned 8-bit integers.

// Range: 0 through 255.

type uint8 uint8

// uint16 is the set of all unsigned 16-bit integers.

// Range: 0 through 65535.

type uint16 uint16

// uint32 is the set of all unsigned 32-bit integers.

// Range: 0 through 4294967295.

type uint32 uint32


// uint64 is the set of all unsigned 64-bit integers.

// Range: 0 through 18446744073709551615.

type uint64 uint64


// int8 is the set of all signed 8-bit integers.

// Range: -128 through 127.

type int8 int8

// int16 is the set of all signed 16-bit integers.

// Range: -32768 through 32767.

type int16 int16

// int32 is the set of all signed 32-bit integers.

// Range: -2147483648 through 2147483647.

type int32 int32


// int64 is the set of all signed 64-bit integers.

// Range: -9223372036854775808 through 9223372036854775807.

type int64 int64

// float32 is the set of all IEEE-754 32-bit floating-point numbers.

type float32 float32


// float64 is the set of all IEEE-754 64-bit floating-point numbers.

type float64 float64


// complex64 is the set of all complex numbers with float32 real and

// imaginary parts.

type complex64 complex64


// complex128 is the set of all complex numbers with float64 real and

// imaginary parts.

type complex128 complex128

// string is the set of all strings of 8-bit bytes, conventionally but not

// necessarily representing UTF-8-encoded text. A string may be empty, but

// not nil. Values of string type are immutable.

type string string

// int is a signed integer type that is at least 32 bits in size. It is a

// distinct type, however, and not an alias for, say, int32.

type int int

// uint is an unsigned integer type that is at least 32 bits in size. It is a

// distinct type, however, and not an alias for, say, uint32.

type uint uint

// uintptr is an integer type that is large enough to hold the bit pattern of

// any pointer.

type uintptr uintptr

// byte is an alias for uint8 and is equivalent to uint8 in all ways. It is

// used, by convention, to distinguish byte values from 8-bit unsigned

// integer values.

type byte = uint8

// rune is an alias for int32 and is equivalent to int32 in all ways. It is

// used, by convention, to distinguish character values from integer values.

type rune = int32

// iota is a predeclared identifier representing the untyped integer ordinal

// number of the current const specification in a (usually parenthesized)

// const declaration. It is zero-indexed.

const iota = 0 // Untyped int.

// nil is a predeclared identifier representing the zero value for a

// pointer, channel, func, interface, map, or slice type.

var nil Type // Type must be a pointer, channel, func, interface, map, or slice type

// Type is here for the purposes of documentation only. It is a stand-in

// for any Go type, but represents the same type for any given function

// invocation.

type Type int

// Type1 is here for the purposes of documentation only. It is a stand-in

// for any Go type, but represents the same type for any given function

// invocation.

type Type1 int

// IntegerType is here for the purposes of documentation only. It is a stand-in

// for any integer type: int, uint, int8 etc.

type IntegerType int

// FloatType is here for the purposes of documentation only. It is a stand-in

// for either float type: float32 or float64.

type FloatType float32

// ComplexType is here for the purposes of documentation only. It is a

// stand-in for either complex type: complex64 or complex128.

type ComplexType complex64

我截取了部分源码,上面有注释标注了go基本类型的各种类型,

具体类型

取值范围

int8

-128到127

uint8

0到255

int16

-32768到32767

uint16

0到65535

int32

-2147483648到2147483647

uint32

0到4294967295

int64

-9223372036854775808到9223372036854775807

uint64

0到18446744073709551615

常用 基本类型 如上

猜你喜欢

转载自blog.csdn.net/qq_35682092/article/details/89516894