go.internal.weak
1.23.1.5
dotnet add package go.internal.weak --version 1.23.1.5
NuGet\Install-Package go.internal.weak -Version 1.23.1.5
<PackageReference Include="go.internal.weak" Version="1.23.1.5" />
<PackageVersion Include="go.internal.weak" Version="1.23.1.5" />
<PackageReference Include="go.internal.weak" />
paket add go.internal.weak --version 1.23.1.5
#r "nuget: go.internal.weak, 1.23.1.5"
#:package go.internal.weak@1.23.1.5
#addin nuget:?package=go.internal.weak&version=1.23.1.5
#tool nuget:?package=go.internal.weak&version=1.23.1.5
go.internal.weak
C# package converted from the Go standard library by go2cs.
The weak package is a package for managing weak pointers.
Weak pointers are pointers that explicitly do not keep a value live and must be queried for a regular Go pointer. The result of such a query may be observed as nil at any point after a weakly-pointed-to object becomes eligible for reclamation by the garbage collector. More specifically, weak pointers become nil as soon as the garbage collector identifies that the object is unreachable, before it is made reachable again by a finalizer. In terms of the C# language, these semantics are roughly equivalent to the the semantics of "short" weak references. In terms of the Java language, these semantics are roughly equivalent to the semantics of the WeakReference type.
Using go:linkname to access this package and the functions it references is explicitly forbidden by the toolchain because the semantics of this package have not gone through the proposal process. By exposing this functionality, we risk locking in the existing semantics due to Hyrum's Law.
If you believe you have a good use-case for weak references not already covered by the standard library, file a proposal issue at https://github.com/golang/go/issues instead of relying on this package.
Copyright 2009 The Go Authors. All rights reserved. This C# package is converted from Go standard library source; use of that source is governed by a BSD-style license that can be found in the LICENSE file. The go2cs conversion itself is distributed under the MIT license.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- go.internal.abi (>= 1.23.1.5)
- go.lib (>= 1.23.1.5)
- go.runtime (>= 1.23.1.5)
- go.unsafe (>= 1.23.1.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on go.internal.weak:
| Package | Downloads |
|---|---|
|
go.unique
unique (net9.0 - Release) -- C# project converted from Go source |
GitHub repositories
This package is not used by any popular GitHub repositories.