golang内置函数的使用

前言:在使用多个goroutine中遇见panic问题,写了较全面的内置函数使用

目录

func append(slice []Type, elems ...Type) []Type

func cap(v Type) int

func close(c chan<- Type)

func complex(r, i FloatType) ComplexType

func copy(dst, src []Type) int

func delete(m map[Type]Type1, key Type)

func imag(c ComplexType) FloatType

func len(v Type) int

func make(t Type, size ...IntegerType) Type

func new(Type) *Type

func panic(v any)

func print(args ...Type)

func println(args ...Type)

func real(c ComplexType) FloatType

func recover() any

type ComplexType

type FloatType

type IntegerType

type Type

type Type1

type any

type bool

type byte

type comparable

type complex128type complex64

type error

type float32type float64

type inttype int16type int32type int64type int8

type rune

type string

type uinttype uint16type uint32type uint64type uint8type uintptr


func append(slice []Type, elems ...Type) []Type

        追加内置函数将元素追加到切片的末尾。如果它具有足够的容量,则会重新划分目标以容纳新元素。否则,将分配一个新的基础数组。追加返回更新的切片。因此,有必要存储追加的结果,通常存储在保存切片本身的变量中。


func cap(v Type) int

        cap 内置函数根据其类型返回 v 的容量。


func close(c chan<- Type)

         close 内置函数关闭通道,该通道必须是双向的或仅发送的。它应该仅由发送方执行,而不是接收方执行,并且具有在收到最后一个发送值后关闭通道的效果。从闭合通道 c 接收到最后一个值后,来自 c 的任何接收都将成功而不会阻塞,从而返回通道元素的零值。

package main

import (
	"fmt"
)

func main() {
	const (
		str1 = 's'
		str2 = 't'
	)
	ch := make(chan int, 5)
	send := make(chan int, 2)
	a := append([]byte("hello"), str1, str2)
	b := append([]byte(" world"), " golang"...)

	send <- 2
	close(send)
	fmt.Println(string(a), string(b), cap(ch), <-send)
}
 终端输出:
 hellost  world golang 5 2


func complex(r, i FloatType) ComplexType

        复杂内置函数从两个浮点值构造一个复杂值。实部和虚部必须具有相同的大小,可以是 float32 或 float64(或可分配给它们),并且返回值将是相应的复杂类型(对于 float32 为 complex64,对于 float64 为 complex128) 


func copy(dst, src []Type) int

        复制内置函数将元素从源切片复制到目标切片。(作为特殊情况,它还会将字节从字符串复制到字节片。源和目标可能重叠。Copy 返回复制的元素数,这将是 len(src) 和 len(dst) 的最小值 


func delete(m map[Type]Type1, key Type)

         delete 内置函数从映射中删除具有指定键 (m[key]) 的元素。如果 m 为 nil 或没有此类元素,则 delete 为 no-op

package main

import "fmt"

func main() {
	a := complex(8, float32(3.2))

	s1 := make([]int, 4)
	s2
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值