golang 에서 builtin 패키지 설명
6600 단어 golang
우선 골 랑 의 상수 부터 소개 해 드 리 겠 습 니 다.
상수:
const (
true = 0 == 0 // Untyped bool.
false = 0 != 0 // Untyped bool.
)
true 와 false 는 두 종류의 bool 값 입 니 다.const iota = 0 // Untyped int. int
iota 는 사전 성명 표시 자 입 니 다. 상수 성명 에 만 사용 할 수 있 고 그 값 은 0 부터 시작 합 니 다. const 에 한 줄 을 추가 할 때마다 iota 는 한 번 씩 계산 합 니 다. 즉, iota 는 1 을 증가 합 니 다. (이런 점 에서 iota 는 const 블록 중의 줄 색인, 줄 수 를 기록 할 수 있 습 니 다) 그 값 은 다음 const 키 워드 를 만 날 때 까지 1 을 증가 합 니 다. 그 값 은 0 으로 재 설정 되 었 습 니 다.
1 상수 성명 에서 상수 가 할당 되 지 않 으 면 그 는 이전 줄 의 할당 값 과 같 습 니 다. 이것 은 여러 상수 의 값 이 같 으 면 상수 의 할당 값 을 1 개 만 주 고 다른 상수 가 그의 뒤 를 따 르 면 됩 니 다.
package main
import (
"fmt"
)
const (
a = iota //iota 0
b = 100
c //c
d = iota //iota 1, 3
)
func main() {
fmt.Println(a, b, c, d)
}
: 0 100 100 3
2. 변수 성명 에서 한 줄 을 추가 할 때마다 iota 값 은 1 을 추가 합 니 다. 여러 변수 가 한 줄 에서 설명 하면 iota 값 은 1 번 만 증가 합 니 다.
package main
import (
"fmt"
)
const (
a = iota
b, c = iota, iota
d = iota
)
func main() {
fmt.Println(a, b, c, d)
}
:0 1 1 2
3iota 에서 다음 const 키 워드 를 만 났 습 니 다. 그 값 은 0 으로 다시 할당 되 었 습 니 다.
package main
import (
"fmt"
)
const (
a = iota
b, c = iota, iota
d = iota
)
const e = iota // const ,iota 0
func main() {
fmt.Println(a, b, c, d, e)
}
:0 1 1 2 0
4 상수 정의 방식: const 이름 [데이터 형식] = 표현 식, 그 중에서 데이터 형식 은 있어 도 되 고 없어 도 되 지만 데이터 형식 을 사용 할 때 반드시 주의해 야 합 니 다. 두 개의 띠 유형 상수 가 같은 줄 에 쓰 여 서 는 안 되 고 띠 유형 상수 가 반드시 값 을 부여 해 야 하 며 비어 있 으 면 안 됩 니 다. 다음 과 같 습 니 다.
const (
a = 1
d int //
b int, c int = 1, 1 //
)
정확 한 표기 법 은 다음 과 같다.const (
a int = 1
d int
b, c = 1, 1
)
따라서 const 상수 를 정의 할 때 상수 형식 을 특별히 강조 하지 않 으 면 데이터 형식 을 가지 고 있 지 않 을 수 있 습 니 다.변수:
func append(slice []Type, elems ...Type) []Type
그 사용 은 두 가지 방식 이 있다.
slice = append(slice, elem1, elem2) // slice , slice ,
slice = append(slice, anotherSlice...) // slice slice , anotherSlice slice , .
특수 한 상황 으로 문자열 을 바이트 배열 에 추가 한 후 합 법 적 입 니 다.package main
import (
"fmt"
)
func main() {
slice := append([]byte("hello "), "world"...) // , , go []byte string .
fmt.Println(string(slice))
}
:hello world
func len(v Type) int
len () 은 go 에서 사용 빈도 가 비교적 높 은 함수 로 Type v 의 length 를 되 돌려 줍 니 다. 해당 하 는 유형 과 되 돌아 오 는 값 은 다음 과 같 습 니 다.
:
:
slice/map:slice map
string:
channel:
func cap(v Type) int
cap () 는 용기 의 용량 을 되 돌려 줍 니 다. 때로는 len () 과 되 돌아 오 는 값 이 다 릅 니 다. 해당 하 는 유형 과 되 돌아 오 는 상황 은 다음 과 같 습 니 다.
:
:
slice:slice
channel: channel
비 교 를 통 해 알 수 있 듯 이 배열 의 유형 과 배열 지침 에 직면 할 때 len 과 cap 의 값 은 모두 배열 의 길이 이다.공통점: cap 는 map, string 형식 을 지원 하지 않 습 니 다. slice 와 channel 에서 가 져 온 값 도 다 릅 니 다. len 은 기 존 값 을 얻 었 고 cap 는 최대 값 을 얻 었 습 니 다. 예 는 다음 과 같 습 니 다.
package main
import (
"fmt"
)
func main() {
a := make(chan int, 10)
fmt.Println(cap(a)) //10
fmt.Println(len(a)) //0
b := make([]int, 2)
b = append(b, 1)
fmt.Println(len(b)) //3
fmt.Println(cap(b)) //4
}
:10 0 3 4
func close(c chan
close () 는 채널 을 닫 는 데 만 사용 할 수 있 으 며, 송신 단 에서 만 닫 을 수 있 으 며, 수신 단 에서 닫 을 수 없습니다. 구체 적 인 참조http://blog.csdn.net/chenbaoke/article/details/41647865
func complex(r, i FloatType) ComplexType //두 개의 부동 소수점 유형 을 하나의 복수 로 바 꾸 는데, 그 중에서 실제 부분 과 허 부 두 가지 유형 은 반드시 일치 해 야 하 며, float 32 와 float 64 의 한 가지 일 수 밖 에 없다.
func imag (c Complex Type) Float Type / / 복수 의 허 부 를 가 져 옵 니 다.
func real (c Complex Type) Float Type / / 복수 의 실 부 를 가 져 옵 니 다.
package main
import (
"fmt"
)
func main() {
a := complex(1, 2)
b := imag(a)
c := real(a)
fmt.Println(a, b, c)
}
:(1+2i) 2 1
func copy(dst, src []Type) int
copy 는 두 개의 slice 간 의 복 제 를 실현 합 니 다. 그 중에서 복 제 된 길 이 는 dst 와 src 에서 길이 가 비교적 작은 길이 이 고 돌아 오 는 것 도 비교적 작은 길이 입 니 다. copy 과정 에서 덮어 쓸 수 있 습 니 다.
package main
import (
"fmt"
)
func main() {
a := make([]int, 1)
b := []int{1, 2}
c := copy(a, b) // a 1, b a 1 1, c 1
fmt.Println(a, b, c)
}
:[1] [1 2] 1
func delete(m map[Type]Type1, key Type)
map 에서 해당 요 소 를 삭제 합 니 다. 이 key 가 없 으 면 func make (Type, size Integer Type) Type 동작 을 하지 않 습 니 다.
map, slice, channel 에 만 사용 할 수 있 습 니 다.
func new (Type) * Type / / 대상 을 초기 화하 고 대상 을 가리 키 는 지침 을 되 돌려 줍 니 다.
func panic (v interface {}) / / goroutine 실행 을 중단 하고 defer 함 수 를 먼저 실행 합 니 다. defer 함수 가 실 행 될 때 오류 정 보 를 panic 호출 자 에 게 panic 관련 정 보 를 전달 합 니 다. func recover () interface {} //defer 함수 에서 recover 를 통 해 panic 호출 된 오류 정 보 를 얻 고 정상 적 인 실행 으로 돌아 갑 니 다. panic 이 없 으 면 recover 는 nil 로 돌아 갑 니 다.
func print(args ...Type) func println(args ...Type) //사용 방법 type ComplexType //모든 복수 형식 complex 64 또는 complex 128 type Float Type / / 모든 부동 소수점 유형 표시: float 32 또는 float 64 type Integer Type type type type type type type type type type type type 1 type bool type byte / 등가 와 uinit 8, 습관 적 으로 바이트 값 과 8 비트 기호 없 는 정수 type complex 128 type complex 64 type error type float 32 type float 64 typeint / / 기호 정형, 크기 는 기계 버스 수량 과 관련 이 있 지만, int 32 또는 int 64 의 별명 이 아 닌 구체 적 인 유형 입 니 다. type int 16 type int 32 type int 64 type int 8 type rune / int 32 별명 은 문자 값 과 정수 값 type string / / 8 바이트 의 문자열 집합 을 습관 적 으로 구분 합 니 다. string 은비어 있 지만 nil 이 될 수 없습니다. string 을 수정 할 수 없습니다. type uint type uint 16 type uint 32 type uint 64 type uint 8 type uintptr / / 정수 형식 입 니 다. 크기 는 포인터 의 비트 모드 를 수용 할 수 있 습 니 다.
var nil Type //nil ,channel, ,interface,map slice , .
참고:http://golang.org/pkg/builtin/
다음으로 전송:https://www.cnblogs.com/msnsj/p/4242580.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
set containerThere is no built-in set container in Go How to implement Set struct{} => type struct{}{} => 0bytes How to create set :=...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.